url &参数传递过程中url自动截断&参数丢失的解决方法

在制作页面跳转过程中,我们会发现只要url传递的参数值中包含 &,就会自动截断,而&后面的参数变量的值也丢失不见了,比如这段跳转到携程的地址:

https://you.ctrip.com/sight/hangzhou14/49894.html?AllianceID=xxx&sid=xxx&ouid=&app=0101X00&Language=en

在使用locationurl的方法跳转时,会发现跳转后的地址是这样的:

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材料的优点
中国银杏银杏之乡在哪里 中国银杏之乡在哪里啊
有机蔬菜的冬藏方法 冬季储藏蔬菜
韭菜和土豆能一起吃吗 韭菜和土豆能一起吃吗早餐

很赞哦! ()