用js传递当前页面的url,丢失了&后面的参数 解决办法

问题:因为登陆是用ajax传值的,在哪个页面点击登陆的,登陆成功跳到再跳回那个页面,之前直接传递的是

/index_do.php?gourl=" +location.href这样传递的,但是像http://nevjiawnn.com/plus/topics/topics_detail.php?tid=1&item=0&comm=1这样的连接,传过去之后就变成http://nevjiawnn.com/plus/topics/topics_detail.php?tid=1

解决方法:

用js的函数

encodeURIComponent(URIstring) 函数可把字符串作为 URI 组件进行编码。

  返回值

  URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

  说明

  该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

  其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

eg.
/index_do.php?gourl=" + encodeURIComponent(location.href)
用encodeURIComponent()函数处理一下就好了!
原文地址:https://www.cnblogs.com/pawn-i/p/11346688.html