JavaScriptでGETパラメータを取得する

JavaScriptでGETパラメータを取得してみる。IE対応などを考えていないのであしからず。仕組み的には&で分割したものをループで回し、=でキーと値を分割してハッシュに保存する。

var params = {};
location.search.substring(1).split('&').filter(function(param) { return param !== ''; }).forEach(function(param) {
params[param.split('=')[0]] = decodeURIComponent(param.split('=')[1]);
});
console.log(params);

こんなURLがあったとして

index.html?title=test&value=&key

上のコードを実行すると

Object {title: "test", value: "", key: "undefined"}

このような結果が得られる。古いブラウザとかでは動かないと思うけど、動かすならちょっと手を加えれば行けると思う。

var Request = function() {};
Request.getParam = function(key) {
return Request.getParams()[key];
};
Request.getParams = function() {
var params = {};
location.search.substring(1).split('&').filter(function(param) { return param !== ''; }).forEach(function(param) {
params[param.split('=')[0]] = decodeURIComponent(param.split('=')[1]);
});
return params;
};

私のコードの一部なんだけどこういう風にすればまとめて受け取れるし、key指定で受け取ることもできるだろう。上で何でも無い無名関数突っ込んでるけど、もともとprototypeで色々やってたコードの一部なので許してにゃん。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA