0

重複の可能性:
クエリ文字列値を取得するにはどうすればよいですか?
URL パラメータを JavaScript オブジェクトに変換する

私のアプリケーションには、(ブラウザーから) ページの URL を取得し、そこからすべてのクエリ パラメーターを抽出する必要があるページがあります。

それを行う簡単な方法はありますか?jQuery プラグインは理解しにくく、アプリケーションがプラグインに依存するようになるため、jQuery プラグインは使用しないことをお勧めします。

1 つで 2 つの質問をしていますが、キーと値のペアのリストとしてアクセスできるようにそれらを Set に格納する方法はありますか?

4

2 に答える 2

0

他の投稿の 2 番目の回答から引用したとおり - https://stackoverflow.com/a/2880929/1236019

var urlParams = {};
(function () {
    var match,
        pl     = /\+/g,  // Regex for replacing addition symbol with a space
        search = /([^&=]+)=?([^&]*)/g,
        decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
        query  = window.location.search.substring(1);

    while (match = search.exec(query))
       urlParams[decode(match[1])] = decode(match[2]);
})();

クエリ文字列の例:

   ?i=main&mode=front&sid=de8d49b78a85a322c4155015fdce22c4&enc=+Hello%20&empty

結果:

urlParams = {
    enc: " Hello ",
    i: "main",
    mode: "front",
    sid: "de8d49b78a85a322c4155015fdce22c4",
    empty: ""
}
于 2013-01-28T12:13:40.440 に答える
0

purl/jQuery-URL-Parser という非常に優れた jQuery プラグインもあります: https://github.com/allmarkedup/jQuery-URL-Parser

これを使用すると、次のことができます。

var url = "http://localhost:3000?i=main&mode=front&sid=de8d49b78a85a322c4155015fdce22c4&enc=+Hello%20&empty"
jQuery.url(url).param()

// ==>

urlParams = {
  enc: " Hello ",
  i: "main",
  mode: "front",
  sid: "de8d49b78a85a322c4155015fdce22c4",
  empty: ""
}

単に呼び出す$.url()と、現在の URL が取得されます。

于 2013-01-28T12:27:07.973 に答える