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

问题:

我们在小程序的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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 因新工作主要负责微信小程序这一块,最近的重心就移到这一块,该博客是对微信小程序整体的整理归纳以及标明一些细节点,初...
    majun00阅读 12,168评论 0 9
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,162评论 0 3
  • 1.小程序起步 (1)点击https://mp.weixin.qq.com/wxopen/waregister?a...
    GXW_Lyon阅读 8,791评论 0 0
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,902评论 1 32
  • 在一处穷乡僻廊的小乡村内,接二连三的干旱,导致很多人都遭遇了饥荒,就连纪芙蓉家包括在内。 在干旱来临之际,贫困的家...
    黄探长阅读 1,567评论 0 1

友情链接更多精彩内容