uni-app JSON.stringfly bug
问题:uni.redirectTo() 页面跳转中,使用上页 请求 数据 (Array)。不想使用全局变量,所以用官方的 ¶ms = '' 方式进行传参。
在用JSON.Stringfly() 转换以后,在跳转的页面,JSON.parse(option.arr) 会报错。
原因
JSON.parse无法识别某些url中的特殊字符,所以报错
解决方案
一:我们在 JSON.stringify() 之后
二:将变量使用 encodeURIComponent 函数处理, encodeURIComponent() 函数可以把字符串作为 URI 组件来进行编码。
三:在跳转到目标页面接收时用decodeURIComponent 对URI 组件进行解码,
四:后面在通过JSON.parse()将变量还原,这样子就能达到预期效果了。