小程序传参数到下一个页面,跟 get 请求一样在路径后面拼接参数;如果传的数据是对象的话,需要先将对象转成 json 字符串传过去;这里就会有个问题,那就是如果对象里面的属性过多导致参数过长,传递的时候微信小程序会将参数裁剪;这样在目标页接收数据的时候就会解析失败导致报错:
let payModel = {
nonceStr: res.data.nonceStr,
package: res.data.package,
paySign: res.data.sign,
timeStamp: res.data.timeStamp,
signType: res.data.signType
}
// 将对象转为json字符串
let jsonStr = JSON.stringify(payModel)
如果数据较少这样传递是没有问题的,如果参数过多,就需要用 encodeURIComponent 再转下
let jsonStr = encodeURIComponent(JSON.stringify(payModel))
// 跳转下一页并传参
wx.navigateTo({
url: '/pages/subscribe_pay/subscribe_pay?payModel=' + jsonStr
})
目标页解析数据:
// 数据解析
let model = JSON.parse(decodeURIComponent(options.payModel))
网友评论