解决微信小程序携带json参数时,如何去转义其中的&符号特殊字符。

之前在他人博客也见过如何转义地址栏中的特殊符号:通过一个方法:

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页面,接收到后,在通过正则吧@ 符号换成 &

                         

然后就可以正常使用地址栏中传过来的带有特殊字符的数据。有一点投机取巧,但是关键时候还是可以解近渴,看我们怎么用了。

posted @ 2018-09-19 16:41  10后程序员劝退师  阅读(5562)  评论(0编辑  收藏  举报