当前位置:   article > 正文

解决报错问题:SyntaxError:Unexpected end of JSON input 参数_error: syntaxerror: unexpected end of json input

error: syntaxerror: unexpected end of json input

一、问题

        

跳转页面时,路径需要带一些参数类型,query和params,当带入params为一个对象的时候,首先要把对象转为字符串类型,然后在对应的页面转为所需对象从而实现效果 

 A传递页面:

  1. GetAddContainer(e){
  2. let money = e.currentTarget.dataset.money
  3. console.log(money);
  4. const data = JSON.stringify(money)
  5. wx.navigateTo({
  6. url: `/pages/tixian/tixian?data=` +data,
  7. })
  8. },

 B接收页面:

  1. onLoad(options) {
  2. let valOptions = JSON.parse((options.data))
  3. this.setData({
  4. tixianUserInfo:valOptions,
  5. })
  6. this.getstoreInfo()
  7. console.log(this.data.tixianUserInfo);
  8. },

二、解决

 如若传递参数未包含 ?& * 等特殊字符,可正常传递,如若包含特殊字符其中一类,即会出现以上问题,可通过在传递参数的时候携带encodeURIComponent特殊解决编码,再在接受参数的时候进行使用decodeURIComponent特殊解决编码,进行解析特殊字符

A传递页面: 

  1. GetAddContainer(e){
  2. let money = e.currentTarget.dataset.money
  3. console.log(money);
  4. const data = JSON.stringify(money)
  5. wx.navigateTo({
  6. url: `/pages/tixian/tixian?data=` + encodeURIComponent(data),
  7. })
  8. },

B接收页面: 

  1. onLoad(options) {
  2. let valOptions = JSON.parse(decodeURIComponent(options.data))
  3. this.setData({
  4. tixianUserInfo:valOptions,
  5. })
  6. this.getstoreInfo()
  7. console.log(this.data.tixianUserInfo);
  8. },

成功结果: 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/224348?site
推荐阅读
相关标签
  

闽ICP备14008679号