JS操作地址栏参数
通常在开发中,我们在请求中默认会使用两种请求方式GET 和POST,即使是在RestFul接口开发规范中底层也是增寻这两种方式开发的封装的,在JS中操作GET请求如何获取地址栏里的参数呢?
1、请求页面
请求页面通过a标签进行携带参数
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p>地址栏发送参数</p>
<a href="地址栏获取参数.html?admin=123456®istNo=900000002012021000180&taskId=42897">点我跳转</a>
</body>
</html>
2、获取页面
主要就是在获取页面中,通过
getRequest()
函数来定义获取URL中的参数返回即可!
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p>地址栏获取参数</p>
<script>
// 第一种:直接获取地址栏所有的参数进行封装成Object对象返回
function getRequest() {
var url = window.location.search; //获取url中"?"符后的字串
var theRequest = new Object();
if (url.indexOf("?") != -1) {
var str = url.substr(1);
strs = str.split("&");
for(var i = 0; i < strs.length; i ++) {
theRequest[strs[i].split("=")[0]]=decodeURI(strs[i].split("=")[1]);
}
}
return theRequest;
}
var obj= getRequest();
console.log(obj);
//第二种: 获取地址栏参数,name:参数名称(获取参数中的某个值)
function getUrlParms(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)
return unescape(r[2]);
return null;
}
var registNo = getUrlParms("registNo");
console.log(registNo);
</script>
</body>
</html>