JavaSciprtでURLのGETパラメータを取得する方法
PHPではGETリクエストを「$_GET」で簡単に取得できるのですが、JavaScriptにはその機能がありません。
意外です。
ということで色々調べて書いてみました。
index.html(utf-8/LF)
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script language="JavaScript" type="text/javascript" src="hoge.js"></script> <title>URLからGETリクエストパラメータを取得</title> </head> <body> URLからGETリクエストパラメータを取得<br /> <form method="post" action=""> <input type="button" value="取得する" onclick="hoge();" /> </form> </body> </html>
hoge.js(utf-8/LF)
function hoge() { //int var cnt; //array var arrayParameter = window.location.search.substring(1).split("&"); var arrayValue = new Array() //variant var tmp; cnt = arrayParameter.length; for(var y = 0; y < cnt; y++) { tmp = arrayParameter[y].split("="); arrayValue[ tmp[0] ] = tmp[1]; } //デバッグプリント for(var key in arrayValue) { if( "undefined" == typeof(arrayValue[key]) ) { alert("GETリクエストパラメータがありません。"); break; } alert(key + "…" + arrayValue[key]); } }
「index.html」と「index.html?a=A&bb=BB&ccc=CCC」でアクセスしてみると、前者ではGETリクエストパラメータがないことが、後者ではパラメータが順に表示されます。