小程序传对象到下一个页面

小程序传参数到下一个页面,跟 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))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容