クエリ文字列-クライアント側とサーバー側
クエリ文字列は、クライアント側のスクリプト言語であるJavascriptによって変数に自動的に処理されません。これは通常、PHPなどのサーバーサイドスクリプト言語によって行われます。
たとえば、PHPのサーバー側では、通常、クエリ文字列の値が$_GET
配列に自動的に割り当てられます$_GET['myVar']
。この場合は、この場合は割り当てられます。ただし、Javascriptではそうではなく、クエリ文字列を自分で処理する必要があります。
フラグメント識別子-URL値をJavascriptに渡す
Javascriptでは、URLを介して値を渡す最も一般的な方法は、実際には、クエリ文字列ではなくフラグメント識別子を使用することです。
たとえば、次のように2つの変数を渡すことができます。
myPage.html#myVar=1&myOtherVar=2
JavaScriptでは、location.hash
変数に値が自動的に割り当てられ、次の#myVar=1&myOtherVar=2
ようにさらに処理できます。
var location_vars = [];
var location_vars_temp = location.hash.replace('#',''); // Remove the hash sign
location_vars_temp = location_vars_temp.split('&'); // Break down to key-value pairs
for (i=0; i < location_vars_temp.length; i++) {
location_var_key_val = location_vars_temp[i].split('='); // Break down each pair
location_vars[location_var_key_val[0]] = location_var_key_val[1];
}
この時点で、渡された値が入力された配列になり、とでlocation_vars
それらを参照できるようになります。location_vars['myVar']
location_vars['myOtherVar']