作者:燕歆波
导读:很久没复习,这次在跳转页面时,发现在获取上一个页面传来的数组时,老是报错,百度了很久,发现了问题!
原因
数组中存在特殊字符,这种情况在H5中也遇到过,
在一般情况下,我们在第二个页面获取数据时,在onload中会这样写:JSON.parse(options.info),
可是如果无法识别你传递过来的json字符串,那么就无法正常转换
解决方式
使用encodeURIComponent 对传递的内容进行编码:
toLook: function(e) {
var item = e.currentTarget.dataset.video;
var info = **encodeURIComponent **(JSON.stringify(item));
wx.navigateTo({
url: '../video/video?info='+info
})
console.log("传递"+info);
}
然后再获取内容时进行解码:decodeURIComponent();
onLoad: function (options) {
console.log("onLoad")
wx.showLoading({
title: '加载中...',
})
var info = decodeURIComponent(options.info);
var video = JSON.parse(info);
this.setData({
......
})
},
这样就可以正常拿到想要的内容了,上个月碰到的问题,现在才来记录,都有点忘了!