0

重複の可能性:
JavaScript でクエリ文字列値を取得する

GET フォームを送信すると、結果のアドレスは のようになりますwww.example.com/stuff?param1=stuff&param2=morestuff。ページのフォーム フィールドの値を読み取り/設定する方法は知っていますが、JavaScript を使用して前のページ (URL 内) からの送信を読み取るにはどうすればよいですか? パラメータを取得するためにURLとそれを取得できると思いsplit()ますが、param1を読み取るためのより迅速で簡単な方法はありますか(単なる例)?

注: この質問は PHP でそれを行う方法に関するものであるため、これはthisの複製ではありません。

4

4 に答える 4

0

いいえ、それを行う簡単な方法はありません。

次のようなものを使用します。

var qstring = {}, src = location.search.substring(1).split("&");
for (var i = 0; i < src.length; i++) {
    var parts = src[i].split("=");
    qstring[unescape(parts[0])] = unescape(parts.slice(1).join("="));
}

これで、オブジェクトqstringはクエリ文字列のキー/値マップになります。同じキーを持つ値は上書きされることに注意してください。そのため、それらを連想配列ではなくインデックス付き配列に格納することをお勧めします。

于 2012-07-05T17:18:39.507 に答える
0
function getQuerystring(key)

{
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,\\\]);

 var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");

 var qs = regex.exec(window.location.href);

 if(qs != null)
     return(qs[1]);
 else
     return("");

}
于 2012-07-05T17:18:52.003 に答える
0

このトピックはあなたの質問に対する答えだと思います。

function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}

これも試すことができます

于 2012-07-05T17:20:07.170 に答える
0
于 2012-07-05T17:21:35.703 に答える