2014年6月8日日曜日

[jQuery] 車輪の再発明(GETパラメータをJavaScriptで取得)

ふとGETパラメータをJavaScriptで取得したくなって、
jQueryを使ってるので$.getParameters()とかやれば一瞬でしょ!とか思ったら
あの偉大なるjQueryさんにもそんな機能はないんだとか。

ぐぐってみると出るわ出るわ、世界各地、各時代において腕利きのジャバスクリプターがぼくのかんがえたさいきょうのgetParameters()を披露しまくってました。
StackOverflowではトップの回答に対して「こんな回答に+1すなボケが!スクロールして下まで読むこともできんのか!」みたいなコメントがあったりしてすげーことになってます。
jQueryが公式で実装してくれりゃ苦労はないのに。

でもまー他人の書いたコードなんて信用できないぜってことで自分で車輪の再発明をしてみたので自分用にメモしておきます。
jQuery必須です。MITライセンスとしますので使いたいという奇特な方は自由に使ってください。
function getUrlParamters() {
 var parameters = window.location.search.substring(1).split('&');
 var result = {};
 $.each(parameters, function(i, parameter) {
  var keyValue = parameter.split('=');
  var key = keyValue[0];
  var value = keyValue[1] || "";
  if (!key) {
   return true;
  }
  if (result[key]) {
   result[key].push(value)
  } else {
   result[key] = [value]
  }
 });
 return result;
}
GETパラメータをオブジェクトに格納して返します。
同じキーに複数の値があることを想定して、値は配列で入れてあります。のでそう思って取り出してください。
キーだけのパラメータ(?a&b&cみたいな)の場合、値として空文字列が入ります。

以上!


0 件のコメント:

コメントを投稿