JavaScriptでGETを取得する
プログラムでURLの引数(GET)を取得する場合、PHPでは「$_GET」や「$_REQUEST」を使いますがJavaScriptではGETを取得する機能はありません。
PHPやPerlなどが使えるサーバであればいいのですが使えない場合、JavaScriptでGETを取得するにはどうしたらよいのでしょうか?
今日はJavaScriptでGETを取得する方法を紹介します。やり方は非常にシンプルでJavaScriptでは「location.search」というURLの「?」以下を取得できるプロパティがあり、それを分解するだけで簡単に使えます。
ただし、URLエンコードされたままなので半角英数以外は使えません。
と、自分で書いて思うのですがあまり使い道はなさそうだなぁ。。。
なぜ書いたかと言うと実際に仕事で使いましたので、次回からすぐに調べられるようにメモ書き程度に書くことにしました^^;
以下のスクリプトを追加して
function getRequest(){
if(location.search.length > 1) {
var get = new Object();
var ret = location.search.substr(1).split("&");
for(var i = 0; i < ret.length; i++) {
var r = ret[i].split("=");
get[r[0]] = r[1];
}
return get;
} else {
return false;
}
}
最後に
var get = getRequest();
と記述すればOKです。
もし「http://xxxxxxx/xxx.html?id=3&code=test」というURLでアクセスした場合、
get['id']; // 「3」
get['code']; // 「test」
で、各GETを扱えます。先に述べたように日本語は使えません。
日本語を使う場合はURLデコードしなきゃいけないので、これはちょっと大変そうだなぁ^^;

コメント
なにげに必要になって調べていたらここにたどり着きました。
助かりました。
投稿者: Furu | 2007年06月02日 20:01
Furuさんコメントありがとうございます。
またいつでもいらしてください。
投稿者: Piyohiko | 2007年06月02日 21:06
もう少しでFlashに逃げるところでこのページに気づきました。
感謝ですm(_ _)m
投稿者: Dhykatti | 2008年11月21日 00:03