本文介绍如何使用 JavaScript 编写一个函数,模拟 PHP 中 $_GET 的行为来获取 URL 中的 GET 参数。通过解析 location.search 字符串,按 '&' 分割并提取键值对,最终返回一个包含所有参数的对象。
JavaScript 实现类似 PHP $_GET 的 URL 参数解析方法
代码如下:
/* 像 PHP 的 $_GET['arg'] 那样获得地址栏 GET 参数 */
function getArgs() {
var args = {};
var query = location.search.substring(1); // 获取查询字符串
var pairs = query.split("&");
// 在 & 处分割
for(var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf('=');
// 查找 "name=value"
if (pos == -1) continue; // 如果未找到,跳过
var argname = pairs[i].substring(0,pos); // 提取名称
var value = pairs[i].substring(pos+1); // 提取值
value = decodeURIComponent(value); // 如果需要,进行解码
args[argname] = value; // 作为属性存储
}
return args; // 返回对象
}
/* 使用方法 */
/* URL: http://www.baidu.com?user=funsion&age=26 */
alert( getArgs()['user'] ); // 输出 funsion
alert( getArgs()['age'] ); // 输出 26