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"

至此,问题得到了圆满解决,跳转后一切参数均没有丢失!

猜你喜欢
白醋瓶子怎么清洗才干净 白醋瓶子清洗干净的小妙招
如何正确的挑选枸杞子 枸杞选择方法
若无其事造句 若无其事造句三年级
距圆明园十里有村曰谢庄翻译
鲜切白菊花的种植方法 鲜切白菊花大棚种植技术
2022年北京军事博物馆开放了吗 北京军事博物馆现在对外开放吗
2022厦门天竺山徒步大会报名时间
白萝卜虾蓉粥的做法 怎样做白萝卜虾蓉粥

很赞哦! ()