亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

下一頁 .js 路由器.推送對查詢參數進行編碼

下一頁 .js 路由器.推送對查詢參數進行編碼

HUX布斯 2024-01-18 16:40:33
我正在嘗試使用傳遞查詢字符串進行重定向,但是當我嘗試在我的參數中傳遞帶有特殊字符的值作為逗號時,正在對我的 URL 進行編碼。是否可以使用 ',' 將 ',' 傳遞到 URL 中?router.pushrouter.push我嘗試了很多東西,但我不知道如何讓它發揮作用。router.push({  pathname: router.pathname,  query: { ...router.query, pets: 'cats,dogs'},})生成的 URL 將是 ,我希望它是 。myurl?pets=cats%2Cdogsmyurl?pets=cats,dogs
查看完整描述

3 回答

?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

使用路徑和查詢字符串的?URL 對象格式將對查詢參數進行內部編碼。

為避免這種情況,可以將路徑和查詢字符串作為字符串傳遞。

router.push(`${router.asPath}?pets=cats,dogs`)


查看完整回答
反對 回復 2024-01-18
?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

您需要對 URI 參數進行解碼和編碼。路由器會自動為您編碼查詢參數:

encodeURIComponent('cats,dogs')
// "cats%2Cdogs"

閱讀時需要對它們進行解碼

decodeURIComponent("cats%2Cdogs")
// "cats,dogs"


查看完整回答
反對 回復 2024-01-18
?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

從上面的問題來看, 我推斷出除了路徑名(以 slug 形式出現)之外,還有一些其他查詢參數。你希望添加它。pets=cats,dogs


如果有人想要獲取路徑名,我們可以使用,其余的舊查詢參數可以使用 .window.location.pathnamewindow.location.search


總而言之,人們可以輕松使用


const subpathAndQuery = window.location.pathname + window.location.search;

router.push(`${subpathAndQuery}&pets=cats,dogs`);

注意:if 是查詢參數的第一個鍵值對。您必須使用 而不是 .pets=cats,dogs?&


查看完整回答
反對 回復 2024-01-18
  • 3 回答
  • 0 關注
  • 201 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號