作者:王耀 | 来源:互联网 | 2023-05-18 02:50
之前在他人博客也见过如何转义地址栏中的特殊符号:通过一个方法:
function URLencode(sStr) {
return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g, '%22').replace(/\'/g, '%27').replace(/\//g, '%2F').replace(/\&/g,'%26');
}
但是在小程序里面的路由携带并不能算的上合格的url地址。所以在使用的时候会报错。
所以最终还是回归到我们的正则。
英文地址栏中的 & 符号的会被解析的,但是可以用其他标志性的字符,也是在地址栏中不会用不到的字符代替 比如@
例子:在A页面中 需要携带一个json对象去B页面时
A页面:
此时B页面,接收到后,在通过正则吧@ 符号换成 &
然后就可以正常使用地址栏中传过来的带有特殊字符的数据。有一点投机取巧,但是关键时候还是可以解近渴,看我们怎么用了。