JavaScript から GET パラメータを取得する方法 [重複] 質問する

JavaScript から GET パラメータを取得する方法 [重複] 質問する

考慮する:

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;
}

おすすめ記事