微信小程序报错 Unexpected end of JSON input;at pages/flow/checkout page getOrderData function
这个报错是在将数组对象通过页面传值,传到指定页面时报的错。
是因为JSON.parse无法识别某些url中的特殊字符,所以报错。
因此解决这个报错的方法是将要传输的数据用 encodeURIComponent()函数(可把字符串作为 URI 组件进行编码) 先进行编码,传输过去后再通过decodeURIComponent()函数解码,最后通过JSON.parse()将其还原为数组对象
传递:
linkToDetail:function(e) {
console.log(e.currentTarget.dataset.item)
wx.navigateTo({
url: '/pages/zhibo/zhibo?item=' + encodeURIComponent(JSON.stringify(e.currentTarget.dataset.item)),
})
},
接收:
onLoad: function (options) {
console.log(options)
var that=this;
var init = decodeURIComponent(options.item)
var video = options.item ? (JSON.parse(init)) : {}
that.setData({
video: video
});
},