URLSearchParamsは、URLのクエリ文字列を処理するためのオブジェクト?部品の後。
1.文法
その使用およびオブジェクトセットのデータ構造の例は似ています。オブジェクトをトラバースの例としては、オブジェクト自体かもしれません。しかし、ない歩行器。
VAR paramsString = 'Q = URLUtils.searchParams&トピック= API' ; VAR searchParams = 新しい URLSearchParams(paramsString)。
2.動作例
1.持っている(キー)
searchParams.has( '話題'); // 真
2.get(キー)
searchParams.get( '話題'); // 'API'
3.getAll(キー)
この方法を同じキーに対応する複数の値を使用する場合
searchParams.getAll( '話題'); // [ 'API']
4.append(キー、値) - 増加
searchParams.append( 'テスト'、 'でtestValue' )。 // searchParams.toString()变为 // "Q = URLUtils.searchParams&トピック= API&テスト=でtestValue"
5delete(キー) - [削除]
私たちは、主要なクエリパラメータのためにすべてのキーを削除します
searchParams。削除( 'テスト'の); // searchParams.toString()变为 // "Q = URLUtils.searchParams&トピック= API"
修飾された6組(キー、値)
searchParams.set( 'Q'、 '試験' )。 // searchParams.toString()变为 // "Q =テスト&トピック= API"
7.toString()
文字列へのオブジェクトバックのインスタンス
トラバーサル方法の3例
次のメソッド呼び出しはイテレータオブジェクトを返します。あなたは、次の()メソッドを呼び出してオブジェクトを移動することができます。
目的の結果を取得したい、あなたが拡張演算子を使用する必要があります。
1.keys()
[... searchParams.keys()] // [ "Q"、 "トピック"]
2.value()
[... searchParams.values()] // [ "テスト"、 "API"]
3.entries()
オブジェクト自体のインスタンスがオブジェクトを横切ることができるからです。拡張演算子を使用してもよいです。さらに結果とエントリ()同様の方法。
[... searchParams.entries()] // [[ "Q"、 "テスト"]、[ "トピック"、 "API"]] // 遍历自身 [... searchParams] // [[ "Q" 、 "テスト"]、[ "トピック"、 "API"]]
4.アプリケーション
POSTメソッドのリクエストボディの例として、1。
リクエストのボディタイプは、ブラウザが自動的にリクエストヘッダを追加します。
コンテンツタイプ:application / x-www-form-urlencodedで;のcharset = UTF-8
さらに、リクエストボディの両側のよう=データは、URLエンコード(encodeURIComponentで())です。
CONSTデータ= 新しい URLSearchParams( "= B&C = D" )。 フェッチ( '/ポスト' 、{ 方法: 'POST' 、 データ:本体 次いで((結果)}) =>にconsole.log(結果))
2.オブジェクトのURLのsearchParams属性インスタンスによって取得URLSearchParamsインスタンス
constのURL = 新しいURL(場所)。 url.searchParams instanceofは URLSearchParams // 真