res.data是后台传的数组 下面这样写接收时报错SyntaxError: Unexpected end of JSON input
这是怎么回事?
if(res.result==1){
let data = JSON.stringify(res.data)
wx.navigateTo({
url: '/pages/list/index?data='+data,
})
}
onLoad(options) {
console.log(JSON.parse(options.data))
},
字符串中包含
?
、=
、&
、#
会对小程序路由识别造成干扰(本质就是一个 URL 地址,你想想你的 URL 里查询参数是不是不能带这几个特殊字符)。需要先转码再传递,接收方先解码再使用。另外小程序 Path+Query 一共最长 2048,超过了就会被截断。
真有比这还长的场景的话就得用别的方式跨页面传值了,比如通过 storage 中转啊、通过 globalData 中转啊、小程序自带的 EventChannel 啊、第三方 EventBus 啊等等。