URLSearchParams 物件用法

admin發表於2019-08-06

URLSearchParams物件定義了操作 URL傳遞引數的方法。

在此之前要對URL傳遞引數進行相關操作要困難很多,參閱js獲取url傳遞的引數值一章節。

通過URLSearchParams()建構函式可以建立一個URLSearchParams物件例項。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
var urlSearchParam = new URLSearchParams(init);

引數解析:

(1).init:可選,一個帶有引數的URL查詢字串字串,不能包含問號和問號前面的字串。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼
var url = "forum.php?mod=viewthread&tid=4596";
var urlSearchParam = new URLSearchParams(url);
console.log(urlSearchParam.get("mod"));

無法獲取mod引數值,程式碼修改如下:

[JavaScript] 純文字檢視 複製程式碼
var url = "mod=viewthread&tid=4596";
var urlSearchParam = new URLSearchParams(url);
console.log(urlSearchParam.get("mod"));

把問號和問號前面的字串去掉就可以正確獲取。

可以直接使用for of運算子直接遍歷URLSearchParams物件例項。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var url = "mod=viewthread&tid=4596";
var urlSearchParam = new URLSearchParams(url);
for(var param of urlSearchParam) {
  console.log(param);
}

程式碼執行,控制檯截圖如下(直接在本站模擬控制檯執行也可以):

a:3:{s:3:\"pic\";s:43:\"portal/201808/28/011352k4s91elee4a44309.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

URLSearchParams例項方法:

方法            描述            
append()            新增新的key/value到URL中。
delete()            刪除所有匹配的key/value值,重複的key都被刪除。
entries()            返回所有鍵值對key/value。
get()            返回與給定key匹配的第一個value值。
getAll()            返回所有與給定key匹配value值。
has()            查詢指定key是否存在,返回一個布林值。
keys()            返回所有鍵key。
set()   設定key的value值。
toString()            返回URL字串。
values()            返回所有值。

相關文章