1. 程式人生 > >JavaScript的URL傳參時引數帶"?"不好擷取處理

JavaScript的URL傳參時引數帶"?"不好擷取處理

JavaScript的URL傳參時引數帶"?"不好擷取處理

問題情景

JavaScript的用URL傳遞引數時,如果用URL以"?“加上”&"的方式傳參,接收到引數後需要擷取,但是引數包含了“?”導致不好擷取。

另外,如果給後臺傳參,使用post不會有亂碼問題引數,get則不然

處理方式

使用encodeURIComponent()轉碼引數,函式可把字串作為 URI 元件進行編碼

encodeURIComponent(URIstring)

encodeURIComponent介紹

  • 該方法不會對 ASCII 字母和數字進行編碼,也不會對這些 ASCII 標點符號進行編碼: - _ . ! ~ * ’ ( )

  • 其他字元(比如 :; / ? : @ & = + $ , # 這些用於分隔 URI 元件的標點符號),都是由一個或多個十六進位制的轉義序列替換的

encodeURIComponent() 函式 與 encodeURI() 函式的區別

encodeURIComponent() 函式 與 encodeURI()函式的區別之處,前者假定它的引數是 URI的一部分(比如協議、主機名、路徑或查詢字串)。因此encodeURIComponent() 函式將轉義用於分隔 URI 各個部分的標點符號。

參考文件

JavaScript encodeURIComponent() 函式

w3school


(全文完)

歡迎光臨:松果前端開發導航