重複の可能性:
JavaScript でクエリ文字列値を取得する
この更新 テストのような URL があるとします。
URL にパラメーター q があるかどうかを確認したい。
これを行うために $get() を使用できますか。
If(urlparamerter == q)
{
do some thing
}
これを行うjqueryビルドイン関数はありますか?
前もって感謝します!
重複の可能性:
JavaScript でクエリ文字列値を取得する
この更新 テストのような URL があるとします。
URL にパラメーター q があるかどうかを確認したい。
これを行うために $get() を使用できますか。
If(urlparamerter == q)
{
do some thing
}
これを行うjqueryビルドイン関数はありますか?
前もって感謝します!
いいえ、これを行うための jQuery 組み込み関数はありません。this SO answerから見つかった次の関数を使用できます
function getParameterByName(name) {
var match = RegExp('[?&]' + name + '=([^&]*)')
.exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
パラメータを取得するには、次のq
ように呼び出します
var qvalue = getParameterByName('q');
アップデート
この関数を使用するurl
代わりに渡すことで使用current page's url
する場合は、次のように関数を変更します
function getParameterByName(name,url) {
var match = RegExp('[?&]' + name + '=([^&]*)')
.exec(url);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
そして、あなたはそれを次のように呼び出すことができます
var qvalue = getParameterByName('q','www.test.com?q=1')
jQueryURLパーサープラグインを確認することをお勧めします。これは、urlおよびqueryStringデータを操作するための非常に簡単な方法です。
var q = $.url().param("q"); // Gets the q parameter
GET パラメータの場合、以下から取得できますdocument.location.search
。
var $_GET = {};
document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g, function () {
function decode(s) {
return decodeURIComponent(s.split("+").join(" "));
}
$_GET[decode(arguments[1])] = decode(arguments[2]);
});
document.write($_GET["test"]);
または、より一般的なバージョンを次に示します。
function getQueryParams(qs) {
qs = qs.split("+").join(" ");
var params = {},
tokens,
re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
params[decodeURIComponent(tokens[1])]
= decodeURIComponent(tokens[2]);
}
return params;
}
var $_GET = getQueryParams(document.location.search);
または、さらに良いのは、PHP を使用してそれらを取得することです。
var $_GET = <?php echo json_encode($_GET); ?>;
この回答はこのスレッドからのものです。