url的参数进行encodeURIComponent的编码问题

最近在做项目号的时候碰到一个问题,就是我在用vue的query传多个参数,其中有一个参数是一个数组的时候。
我是这么操作的:
在给一个标签绑定点击事件:

function fn(a1, a2, a3){
      this.$Router.push({
        path: "/pages/hcp360/index",
        query: {
        eid: a1,
        docta: a2,
        tabList:encodeURIComponent(JSON.stringify(a3))
         },
      });
}

从上述代码中可以看出,这个tabList就是我索要传的数组

而当我在那边接受参数时:

created(){
   let a3 = this.$Route.query.a3
   this.a3 = JSON.parse(decodeURIComponent(a3))  //这里报错了一直拿不到值
}

然后我刷新页面 之后就能拿到了,并且url也发生了变化,再刷新几次也没什么变化了
我仔细观察了一下,发现这个a3变了,之前他的每个参数连接是这样a3=%2522name%2575age%...(记不起来了,仿写的一个)
刷新后变成了这样a3=%22name%75age%...

这是我发现的一个说明白了的博主的链接:
https://blog.csdn.net/weixin_45609589/article/details/130431197

也就是说我在传参的过程中又被加了一encodeURIComponent,明白了问题所在。想必就知道该怎么解决了吧

created(){
   let a3 = this.$Route.query.a3
   this.a3 = JSON.parse(decodeURIComponentde(codeURIComponent(a3)))
}

以上就是url的参数进行encodeURIComponent的编码问题的方法了
如果这篇文章对你有帮助,或者在进行中遇到其他问题,欢迎评论区留言出来。
我们一起探讨~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容