小程序页面间传递对象或者数组碰到的问题

作者:燕歆波

导读:很久没复习,这次在跳转页面时,发现在获取上一个页面传来的数组时,老是报错,百度了很久,发现了问题!

原因

     数组中存在特殊字符,这种情况在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({
		......
    })
  },

这样就可以正常拿到想要的内容了,上个月碰到的问题,现在才来记录,都有点忘了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值