查询字符串 - 在客户端和服务器端
Javascript 是一种客户端脚本语言,不会将查询字符串自动处理为变量。这通常由服务器端脚本语言完成,例如 PHP。
例如,在 PHP 的服务器端,您通常会将查询字符串值自动分配给$_GET
数组,或者$_GET['myVar']
在这种情况下。但在 Javascript 中情况并非如此,您需要自己处理查询字符串。
片段标识符 - 将 URL 值传递给 Javascript
在 Javascript 中,通过 URL 传递值的最常见方式实际上是通过片段标识符而不是通过查询字符串。
例如,您可以像这样传递两个变量:
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']