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的編碼問題的方法了
如果這篇文章對你有幫助,或者在進行中遇到其他問題,歡迎評論區留言出來。
我們一起探討~

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容