考慮する:
http://example.com/page.html?returnurl=%2Fadmin
js
内ではpage.html
、どのようにしてGET
パラメータを取得できますか?
上記の簡単な例では、func('returnurl')
とする必要があります/admin
。
しかし、複雑なクエリ文字列でも機能するはずです...
ベストアンサー1
とともにウィンドウの場所オブジェクト。このコードは疑問符なしの GET を返します。
window.location.search.substr(1)
あなたの例では、returnurl=%2Fadmin
編集:変更させて頂きましたQwertyの答えこれは本当に素晴らしいことです。彼が指摘したように、私はまさに OP が尋ねたことに従いました。
function findGetParameter(parameterName) {
var result = null,
tmp = [];
location.search
.substr(1)
.split("&")
.forEach(function (item) {
tmp = item.split("=");
if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);
});
return result;
}
私は彼のコードから重複した関数の実行を削除し、それを変数(tmp)に置き換え、さらに追加しました。decodeURIComponent
まさに OP が尋ねたとおりです。これがセキュリティ上の問題であるかどうかはわかりません。
あるいは、単純な for ループを使用すると、IE8 でも動作します。
function findGetParameter(parameterName) {
var result = null,
tmp = [];
var items = location.search.substr(1).split("&");
for (var index = 0; index < items.length; index++) {
tmp = items[index].split("=");
if (tmp[0] === parameterName) result = decodeURIComponent(tmp[1]);
}
return result;
}