ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript オブジェクトをクエリ文字列に効率的にエンコードするにはどうすればよいですか?

JavaScript オブジェクトをクエリ文字列に効率的にエンコードするにはどうすればよいですか?

DDD
リリース: 2024-12-06 11:45:12
オリジナル
779 人が閲覧しました

How Can I Efficiently Encode a JavaScript Object into a Query String?

クエリ文字列の効率的な JavaScript オブジェクト エンコーディング

GET リクエスト経由で送信するために JavaScript オブジェクトを文字列にエンコードするのは、面倒な作業になる場合があります。ありがたいことに、サードパーティのライブラリや jQuery に依存しない簡単な JavaScript ソリューションがあります。

その方法は次のとおりです:

serialize = function(obj) {
  var str = [];
  for (var p in obj)
    if (obj.hasOwnProperty(p)) {
      str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
    }
  return str.join("&");
}
ログイン後にコピー

この関数は JavaScript オブジェクトを入力として受け取りますそしてエンコードされた文字列を返します。エンコード プロセスには以下が含まれます。

  • オブジェクトのプロパティを反復処理
  • プロパティ名と値の両方を URL エンコード
  • エンコードされたペアをアンパサンド (&) で連結Separator

例として、次のエンコードを考えてみましょう。オブジェクト:

{
  foo: "hi there",
  bar: "100%"
}
ログイン後にコピー

シリアル化関数の使用:

console.log(serialize({
  foo: "hi there",
  bar: "100%"
}));
ログイン後にコピー

次のエンコードされた文字列が出力されます:

foo=hi%20there&bar=100%25
ログイン後にコピー

このエンコードされた文字列は、手間をかけずに GET リクエストのクエリ文字列を作成できます。

以上がJavaScript オブジェクトをクエリ文字列に効率的にエンコードするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート