收藏
回答

使用wx.navigateTo传参时参数过大会导致页面无法接受参数吗?这边会报错

请问有谁碰到这种情况吗?我用navigateTo传参时也用JSON.stringfy和JSON.parse转换了,但是传过去有的是可以传成功的,有的参数直接就报上面的错误了,我试着把参数拆开来传过去就可以了,是因为参数太多了吗?但是这样会很麻烦,后面还有更多参数需要传,大佬帮看下是啥问题呀?

回答关注问题邀请回答
收藏

6 个回答

  • 卢霄霄
    卢霄霄
    2021-04-07

    不是过长,是有非法的字符,encodeURIComponent包一下了传

    2021-04-07
    有用 2
    回复 6
    • 大熊
      大熊
      发表于移动端
      2021-04-07
      我刚看了一下,里面有个变量是数字开头的
      2021-04-07
      回复
    • 卢霄霄
      卢霄霄
      2021-04-07回复大熊
      最大的可能是 你某个值里含有 #啊  &啊 之类的
      2021-04-07
      回复
    • 卢霄霄
      卢霄霄
      2021-04-07回复大熊
      特别是你的 pictureUrl 这个数组里的
      2021-04-07
      回复
    • 大熊
      大熊
      发表于移动端
      2021-04-07回复卢霄霄
      接口是第三方的不好改,我这边有什么好的办法吗
      2021-04-07
      回复
    • 卢霄霄
      卢霄霄
      2021-04-07回复大熊
      encodeURIComponent(JSON.stringify(currentGoodsInfos))
      JSON.parse(decodeURIComponent(options.data))
      2021-04-07
      1
      回复
    查看更多(1)
  • 跨商通
    跨商通
    2021-04-07

    eventChannel了解一下。

    2021-04-07
    有用 1
    回复 3
    • 大熊
      大熊
      发表于移动端
      2021-04-07
      我来试试看第一次用这个
      2021-04-07
      回复
    • 跨商通
      跨商通
      2021-04-07回复大熊
      值得试用。
      2021-04-07
      回复
    • 大熊
      大熊
      发表于移动端
      2021-04-07
      哈哈,我用了这个方法传参,确实可以,谢谢大佬呀
      2021-04-07
      回复
  • 天天豪
    天天豪
    2021-08-23

    不建议使用eventChannel这个方法,使用限制多而且麻烦,推荐使用getCurrentPages()。用getCurrentPages()的话页面获取当前页面栈,然后可以直接获取页面栈中所有页面的data或者页面函数。顺便多说一句,页面下标是从0开始的。

    2021-08-23
    有用
    回复 1
    • 天天豪
      天天豪
      2021-08-23
      对了,通过getCurrentPages()不但可以使用所有页面的函数和数据,还可以更改所有页面的数据。
      2021-08-23
      回复
  • Yugene
    Yugene
    2021-07-12

    我也遇到过,研究了下,产生这个问题一般有2种原因:参数过长或者参数含有非法字符,无论是哪种情况,都会被小程序截断参数,因为截断了参数,所以用JSON.parse转化参数时会因出现缺少符号导致报错。解决办法:参数过长——不能在url中传参了,放本地存储、全局变量、eventChannel都可;含有非法字符——可以先编码下再传,也可以用前面几种。

    浏览器中同理。

    2021-07-12
    有用
    回复
  • 陈宇明
    陈宇明
    2021-04-07

    有两种情况

    1. 参数过长
    2. 参数里面有非法字符


    解决方案:

    1. 做全局变量放在app.js
    2. 做本地换成Storage


    设置缓存文档:

    https://developers.weixin.qq.com/miniprogram/dev/api/storage/wx.setStorageSync.html

    2021-04-07
    有用
    回复 1
    • 大熊
      大熊
      发表于移动端
      2021-04-07
      感谢大佬
      2021-04-07
      回复
  • 神经蛙
    神经蛙
    2021-04-07

    试试存全局或者存storage

    2021-04-07
    有用
    回复 1
    • 大熊
      大熊
      发表于移动端
      2021-04-07
      好我试试
      2021-04-07
      回复
登录 后发表内容
问题标签