最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript?中URL?查詢字符串(query?string)的序列與反序列化的方法

 更新時間:2023年01月11日 08:35:18   作者:yuzhihui  
在 JavaScript 中,可以使用?URLSearchParams?對象來處理 URL 中的查詢字符串,這篇文章主要介紹了JavaScript?中URL查詢字符串(query?string)的序列與反序列化,需要的朋友可以參考下

方法一:

在 JavaScript 中,可以使用 URLSearchParams 對象來處理 URL 中的查詢字符串。

序列化(將 JavaScript 對象轉換為查詢字符串)可以使用 URLSearchParams 對象的 append() 方法,如下所示:

let params = new URLSearchParams();
params.append('name', 'John');
params.append('age', '30');
let queryString = params.toString();
console.log(queryString); 

反序列化(將查詢字符串轉換為 JavaScript 對象)可以使用 URLSearchParams 的構造函數(shù),如下所示:

let queryString = "name=John&age=30";
let params = new URLSearchParams(queryString);
console.log(params.get('name')); // "John"
console.log(params.get('age')); // "30"

對于反序列化的操作可以使用URL的search屬性,來解析query string

let url = new URL('https://example.com?name=John&age=30');
let params = new URLSearchParams(url.search);
console.log(params.get('name')); // "John"
console.log(params.get('age')); // "30"

需要注意的是,URLSearchParams 對象只能用于處理查詢字符串,而不能用于創(chuàng)建或解析整個 URL。

如果需要更高級的處理方式,可以使用其它庫或第三方函數(shù)庫,比如 qs, querystring 等庫來處理。

對于反序列化的操作中的URLSearchParams的使用還有一些方法,比如:

  • has(name): 返回一個 Boolean 值,表示是否存在名稱為 name 的查詢參數(shù)。
  • get(name): 返回名稱為 name 的查詢參數(shù)的值,如果不存在,則返回 null。
  • getAll(name): 返回所有名稱為 name 的查詢參數(shù)的值組成的數(shù)組,如果不存在,則返回空數(shù)組。
  • set(name, value): 設置名稱為 name 的查詢參數(shù)的值為 value。如果已經存在同名參數(shù),將會覆蓋原來的值。
  • append(name, value): 添加名稱為 name 的查詢參數(shù),并設置其值為 value。如果已經存在同名參數(shù),會添加一個新的參數(shù)。
  • delete(name): 刪除名稱為 name 的查詢參數(shù)。
  • entries(): 返回一個迭代器,遍歷所有查詢參數(shù)的鍵值對。
  • keys(): 返回一個迭代器,遍歷所有查詢參數(shù)的名稱。
  • values(): 返回一個迭代器,遍歷所有查詢參數(shù)的值。

這些方法都能給出更靈活的操作,請根據(jù)具體需求來選擇使用

方法二:

當然,如果需要手動處理查詢字符串,也可以使用 JavaScript 的標準字符串處理函數(shù)來實現(xiàn)。

序列化,可以使用下面的代碼把一個對象轉換為查詢字符串:

function objectToQueryString(obj) {
  return Object.entries(obj).map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(value)}`).join('&');
}
console.log(objectToQueryString({name: 'John', age: '30'}))

反序列化,可以使用下面的代碼把查詢字符串轉換為一個對象:

function queryStringToObject(queryString) {
  let obj = {};
  let arr = queryString.split("&");
  for(let i = 0; i < arr.length; i++){
    let temp = arr[i].split("=");
    obj[temp[0]] = temp[1];
  }
  return obj;
}
console.log(queryStringToObject('name=John&age=30'))

需要注意的是,上述代碼使用了 encodeURIComponent 和 decodeURIComponent 來編碼和解碼查詢字符串中的字符,以防止出現(xiàn)無效或不安全的字符。

這些方法都能達到相同的目的,你可以根據(jù)項目中使用的JavaScript環(huán)境和需要的復雜度來進行選擇

到此這篇關于JavaScript 中URL 查詢字符串(query string)的序列與反序列化的文章就介紹到這了,更多相關js url查詢字符串內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • JavaScript實現(xiàn)復制粘貼剪切功能三種方法

    JavaScript實現(xiàn)復制粘貼剪切功能三種方法

    這篇文章主要給大家介紹了關于JavaScript實現(xiàn)復制粘貼剪切功能的相關資料,在實際案例的操作過程中,不少人都會遇到這樣的開發(fā)需求,文中通過代碼將三種方法介紹的非常詳細,需要的朋友可以參考下
    2024-01-01
  • js獲取對象屬性值的兩種方法使用總結

    js獲取對象屬性值的兩種方法使用總結

    這篇文章主要給大家介紹了關于js獲取對象屬性值的兩種方法使用,分別是通過.獲取和通過[]獲取這兩種方法,文中介紹了詳細的方法和不同點,需要的朋友可以參考下
    2023-05-05
  • 輕松掌握JavaScript裝飾者模式

    輕松掌握JavaScript裝飾者模式

    這篇文章主要幫助大家輕松掌握JavaScript裝飾者模式,告訴大家什么是js裝飾者模式,感興趣的小伙伴們可以參考一下
    2016-08-08
  • javascript滾輪控制模擬滾動條

    javascript滾輪控制模擬滾動條

    這篇文章主要為大家詳細介紹了javascript滾輪控制模擬滾動條的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 關于JavaScript中forEach和each用法淺析

    關于JavaScript中forEach和each用法淺析

    這篇文章主要給大家介紹了關于JavaScript中forEach和each使用方法的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編一起來學習學習吧。
    2017-07-07
  • JS非空驗證及郵箱驗證的實例

    JS非空驗證及郵箱驗證的實例

    下面小編就為大家?guī)硪黄狫S非空驗證及郵箱驗證的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • 在線編輯器的實現(xiàn)原理(兼容IE和FireFox)

    在線編輯器的實現(xiàn)原理(兼容IE和FireFox)

    在線編輯器的實現(xiàn)原理(兼容IE和FireFox)...
    2007-03-03
  • js實現(xiàn)計算器功能

    js實現(xiàn)計算器功能

    這篇文章主要為大家詳細介紹了js實現(xiàn)計算器功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • JS判斷兩個時間大小的示例代碼

    JS判斷兩個時間大小的示例代碼

    本篇文章只要是對JS判斷兩個時間大小的示例代碼進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-01-01
  • 對比分析Django的Q查詢及AngularJS的Datatables分頁插件

    對比分析Django的Q查詢及AngularJS的Datatables分頁插件

    通過本文給大家對比分析了Django的Q查詢及AngularJS的Datatables分頁插件,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-02-02

最新評論

绥芬河市| 精河县| 磴口县| 沅江市| 轮台县| 米脂县| 弥勒县| 普宁市| 绥德县| 庄浪县| 固阳县| 化德县| 申扎县| 资兴市| 镇雄县| 姚安县| 遂溪县| 安阳县| 河北省| 托克逊县| 清水河县| 云和县| 彰武县| 应用必备| 清水县| 吉隆县| 府谷县| 遂昌县| 庄浪县| 巫山县| 汽车| 廊坊市| 镇巴县| 南宫市| 房山区| 荆门市| 天气| 札达县| 花垣县| 七台河市| 吴旗县|