こんばんは。きわさです。
URLパラメータを設定
HTTPのリクエストでは、POSTだけでなくGETの場合もパラメータを渡すことができます。
例えば、http://sample.com/sample.htmlにdataというパラメータにtestという値を渡す場合は、
http://sample.com/sample.html?data=testとなります。
複数ある場合は
http://sample.com/sample.html?data=test&data2=testのように、&で区切って記述します。
URLパラメータを取得
次は取得する場合です。
javascriptで以下のような関数を作ります。
function getQueryParams() { // 連想配列を宣言 var params = {}; // URLの?以降の文字列を&で区切って取得 var query = document.location.search.substring(1).split('&'); // &で区切った文字列の数だけ繰り返す for(var i = 0; i < query.length; i++) { // =で区切る var param = query[i].split('='); // =の左側(key)と右側(value)を取得する if((param[0] != "") && (param[1] != "")) { var key = decodeURIComponent(param[0]); var value = decodeURIComponent(param[1]); // 連想配列に追加 params[key] = value; } } // 連想配列を返却 return params; } function getQueryValue(key) { // クエリ文字列(URLパラメータ)の連想配列を取得 var params = getQueryParams(); // 指定したkeyと一致するvalueを返却 return params[key]; }
2つ関数を作りました。
getQueryParams()では、URLパラメータすべてを含む連想配列を取得でき、
getQueryValue()では、指定したkeyの値を取得できます。
用途によっては、keyが一致しない場合なども考慮しないといけません。このままではundefinedが帰ります。