您的位置:首页 > 移动开发 > 微信开发

微信小程序之页面跳转传参数据:json 字符串转对象报错

2018-08-31 17:37 477 查看
版权声明:本文为博主原创文章,转载请注明原创链接,感谢支持!(如文章有侵权,请联系作者删除) https://blog.csdn.net/qq_35324453/article/details/82259882

工作中遇到了这个问题,之前也有遇到过,只是没有去研究这个问题,接下来简单说明一下。

(一)问题详情

我们在小程序的A页面向B页面跳转的时候,传了页面参数为param(页面参数值只能是字符串,参数值是根据用户点击的信息而不同的),所以传数组或对象需要使用JSON.stringify()转换,到了B页面需要将param获取到并通过JSON.parse()解析,结果问题是有些传过来json正常解析,有些则报这个错:

也就是说B页面获取到的参数param值格式不是json格式,但是我是通过JSON.stringify()做数据转换的,格式有问题A页面跳转就会报错了,所以是参数传输过程微信小程序官方工具做了处理。

(二)问题原因

查了一下,可以正确从A页面跳转到B页面带参数正常显示的,和不正常显示的控制台输出对比一下,发现原来是这个原因造成的。-_-

1、json解析正常页面获取到的数据格式是完整的:

2、json解析错误不正常页面显示获取到的数据是不完整的:

总结: 由于页面传输的数据太大,导致部分传输的数据内容被截断,导致json格式解析报错,微信官方是有限制页面跳转参数数据大小的,本人忘记了,知道的欢迎留言哈。

(三)解决方法

1、通过A页面设置缓存数据到B页面获取缓存到的数据格式来传输,不过不推荐,因为缓存数据大小也是有限制的,不适合大数据格式的缓存,小数据是可以的。
2、通过A页面传一个id到B页面,然后再重新请求接口获取新数据。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: