收藏
回答

页面之间传递参数过长

页面之间传参过长,怎么办?例如 我传递一个json


[
    "http://localhost/a543bd1e2ae9b2b2e5b69de7ced15837.png?imageMogr2/quality/60/format/jpg",
    "你所经历的苦难,都将使你发光",
    "http://localhost/api/v1/playUrl?vid=38256&resourceType=video&editionType=default&source=aliyun&f=iphone&u=26868b32e808498db32fd51fb422d00175e179d&vc=83"
]

传递  方法

  url: '../player/player?playUrl=' +str, str就是json字符串

接收

let item = JSON.parse(options.playUrl);

这时候的options.playUrl就不是一个完整的字符串 ,这个json相当于只接受了一部分


最后一次编辑于  2018-06-21  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

4 个回答

  • 满眼星辰
    满眼星辰
    2018-06-21

    啥原因说一说啊,是不是有些特殊符号传值传过去?我之前遇到过这问题,传值之前把那些特殊字符替换掉,传递完再换回来就可以了、、、、你这解决了,也不贴出答案来,实在是前人不种树、、

    2018-06-21
    赞同 1
    回复 2
    • 狂奔的蜗牛
      狂奔的蜗牛
      2018-06-22

      哈哈,我的锅,主要是传参的key,在json字符串中有同样的字符串,如上面的我写的key是playUrl ,

      但是我的json字符串中也有个playUrl  

          "http://localhost/api/v1/playUrl?vid=38256&resourceType=video&editionType=default&source=aliyun&f=iphone&u=26868b32e808498db32fd51fb422d00175e179d&vc=83"

      主要还是自己给自己挖的坑

      2018-06-22
      1
      回复
    • 狂奔的蜗牛
      狂奔的蜗牛
      2018-06-22回复狂奔的蜗牛

      还有个就是特殊字符 &

      2018-06-22
      2
      回复
  • Brave 🎈
    Brave 🎈
    2018-06-21

    getApp()

    2018-06-21
    赞同
    回复 4
    • 狂奔的蜗牛
      狂奔的蜗牛
      2018-06-21

      您好,能再详细点吗

      2018-06-21
      回复
    • Brave 🎈
      Brave 🎈
      2018-06-21回复狂奔的蜗牛

      知道vueX吗,可以全局数据存储,getApp()获取全局对象,然后赋值就可以。

      A页面: getApp().a = 1

      B页面: getApp().a // 1

      2018-06-21
      1
      回复
    • 狂奔的蜗牛
      狂奔的蜗牛
      2018-06-21回复Brave 🎈

      这个是动态的,全部群全局变量中感觉是不合理的吧

      2018-06-21
      回复
    • 狂奔的蜗牛
      狂奔的蜗牛
      2018-06-21回复Brave 🎈

      谢谢您,我找到问题原因了

      2018-06-21
      回复
  • 卢霄霄
    卢霄霄
    2018-06-21

    1、可以定义在上一个页面的Page里。

    let routeList = getCurrentPages().reverse()

    routeList[1].playUrl

    2、可以向楼上说的,存在 app.js的变量里。

    2018-06-21
    赞同
    回复 4
    • 狂奔的蜗牛
      狂奔的蜗牛
      2018-06-21

      嗯嗯,第一个还可以,但是这样写有点麻烦,我找到原因了,谢谢您了

      2018-06-21
      回复
    • 武22
      武22
      2018-09-28

      请教,在上一个页面的Page里定义routeList 是怎样传递长参数的?

      2018-09-28
      回复
    • 卢霄霄
      卢霄霄
      2018-09-28回复武22

      没懂你什么意思哦。。是在当前页面定义 routeList,这个里面是当前的页面栈,倒数第二页就是上一页。你就可以在当前页拿到上一页的变量了

      2018-09-28
      1
      回复
    • 武22
      武22
      2018-09-28回复卢霄霄

      技能get,谢谢大佬

      2018-09-28
      回复
  • Stiver
    Stiver
    2018-06-21

    放数据缓存试试

    2018-06-21
    赞同
    回复