做前端项目经常需要获取url的一些参数,这里归纳一个常用的获取url参数的方法。
function GetUrlPara() {
var url = document.location.toString();
if(typeof url.split("?")[1] == 'undefined'){
return {};
}
var para = url.split("?")[1].split('&');
var Json = {};
for(var i = 0; i < para.length; i++) {
var name = para[i].split('=')[0];
var val = decodeURI(para[i].split('=')[1]);
Json[name] = val;
}
return Json;
};
// 调用方法
var urlPara = GetUrlPara();
console.log(urlPara.name);
代码解析
function GetUrlPara() {
var url = document.location.toString(); // 获取当前url,并且转换成字符串
if(typeof url.split("?")[1] == 'undefined'){ // 判断:通过 ? 分割字符串成数组的第二个是否存在,不存在返回空JSON对象
return {};
}
var para = url.split("?")[1].split('&'); // 通过 ? 分割url,并且将第二个数组再次通过 & 分割成数组
var Json = {};
for(var i = 0; i < para.length; i++) { // 循环分割后的数组
var name = para[i].split('=')[0]; // 通过 = 号分割第 i 个数组,并且取第一个作为json的name
var val = decodeURI(para[i].split('=')[1]); // 通过 = 号分割第 i 个数组,并且取第二个作为json的value
Json[name] = val; // 赋值给json
}
return Json; // 返回json
};