小程序开发之问题2:传JSON对象的时候,遇到特殊字符(;/?:@&=+$,#)时解析报错

  • 在小程序端,我们是通过 JSON.stringify 和JSON.parse来在页面之间传递对象数据的,我在开发中因为有些敏感数据采用了后端加密,前端解密再调用的方式,因为特殊字符"=",导致获取到这个"="号时,后面的数据都取不到了
  • 通过查询资料分享找到了解决办法

decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码

encodeURIComponent() 函数把字符串作为 URI 组件进行编码。其中的某些字符将被十六进制的转义序列进行替换。

//页面传递时需要对该传递的对象编码,使用     encodeURIComponent()方法
wx.navigateTo({
        url: '../test/test?paras=' + encodeURIComponent(JSON.stringify(this.data))
      })

//接收对象时使用     decodeURIComponent()方法
 onLoad: function(options) {
    let paras = JSON.parse(decodeURIComponent(options.paras))
    this.setData({
      card: paras.card
    })
  },

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值