美文网首页
微信小程序:页面跳转传参json解析报错

微信小程序:页面跳转传参json解析报错

作者: 街角仰望 | 来源:发表于2019-08-20 18:08 被阅读0次

问题:

我们在小程序的A页面向B页面跳转的时候,传了页面参数为params,由于页面参数值只能是字符串,所以这里用到了json解析,部分参数包含特殊字符会出现json解析失败。

A页面

navigateTo(e){
    let item = e.currentTarget.dataset.params;  
    wx.navigateTo({
      url: '../alarmHistory/alarmHistory?info=' + JSON.stringify(item)
    })
  }

B页面

onLoad: function (options) {
    let info = JSON.parse(options.info)
    console.log(options)
    this.setData({
      info: info
    })
  },

json解析失败报错:

解决方法:

通过将A页面需要传的数据赋值给全局变量app.js中的全局变量,然后B页面getApp()获取全局变量就可以了。

app.js

globalData: {
    pageInfo: null,//用于临时存储页面跳转时传递的数据,解决JSON无法解析特殊字符的问题
    ...
  }

A页面

navigateTo(e){
    let item = e.currentTarget.dataset.params;
    app.globalData.pageInfo = item //设置全局变量
    wx.navigateTo({
      url: '../alarmHistory/alarmHistory'
    })
  }

B页面

onLoad: function (options) {
    this.setData({
      info: app.globalData.pageInfo,
    })
    // console.log(app.globalData.pageInfo)
  },

参考:
https://blog.csdn.net/qq_35324453/article/details/82259882

相关文章

网友评论

      本文标题:微信小程序:页面跳转传参json解析报错

      本文链接:https://www.haomeiwen.com/subject/vjuadctx.html