在制作页面跳转过程中,我们会发现只要url
传递的参数值中包含 &
,就会自动截断,而&
后面的参数变量的值也丢失不见了,比如这段跳转到携程的地址:
https://you.ctrip.com/sight/hangzhou14/49894.html?AllianceID=xxx&sid=xxx&ouid=&app=0101X00&Language=en
在使用location
和url
的方法跳转时,会发现跳转后的地址是这样的:
https://you.ctrip.com/sight/hangzhou14/49894.html?AllianceID=xxx
对比可以发现&后面的参数全部丢失,那么问题出在哪呢?
根据热心网友jingxian 的在java中测试:
String charEncode = java.net.URLEncoder.encode("&"); System.out.println("字符& 转译后的值为:" + charEncode ); //输出:%26
所以,最后得出的解决方法就出现了---在传送参数前, 将&
全部替换为%26
eg:
var url = "https://you.ctrip.com/sight/hangzhou14/49894.html?AllianceID=xxx&sid=xxx&ouid=&app=0101X00&Language=en"
做如下修改即可:
var url = "https://you.ctrip.com/sight/hangzhou14/49894.html?AllianceID=xxx%26sid=xxx&ouid=%26app=0101X00%26Language=en"
至此,问题得到了圆满解决,跳转后一切参数均没有丢失!
猜你喜欢 女性网名简单文雅 适合女生的简单网名 茶叶去黑眼圈方法 茶叶去黑眼圈原理 拒绝吸烟不得不知的六大事实! 拒绝吸烟的办法有哪些 pet材料的优缺点是什么 PET材料的优点 中国银杏银杏之乡在哪里 中国银杏之乡在哪里啊 有机蔬菜的冬藏方法 冬季储藏蔬菜 韭菜和土豆能一起吃吗 韭菜和土豆能一起吃吗早餐