url参数处理
获取url
location.href : 获取整个url
location.search : 获取url参数,从问好开始截取
eg: console.log(location.href); // “http://www.localhost.8080?name=shuaige&age=20&sex=man”
console.log(location.serach); // “?name=shuaige&age=20&sex=man”
方法1:
const url = "http://www.localhost.8080?name=shuaige&age=20&sex=man";
const params = url.split("?")[1]; // name=shuaige&age=20&sex=man
const paramsArr = params.split("&"); // ["name=shuaige", "age=20", "sex=man"]
const object = {};
paramsArr.forEach((item) => {
object[item.split("=")[0]] = item.split("=")[1];
return object;
});
console.log(object); // {name: "shuaige", age: "20", sex: "man"}
给他封装一下
function GetRequest() {
const url = location.search; //获取url中"?"符后的字串
const paramObj = new Object();
if (url.indexOf("?") != -1) {
let str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
// unescape是解码
paramObj[theRequest[strs[i].split("=")[0]]]=unescape(strs[i].split("=")[1]);
}
}
return paramObj;
}
方法2:正则
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]);
return null;
}