最近在写公司HR微信公众号,其中某个模块需要A.html传递一个参数Data给B.html,然后B.html通过参数Data发送Ajax。整理一下搜寻到方法;
方法一:
通过location给页面传递数据;附上代码。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>页面A</title>
</head>
<body>
<div style="width:100px;height:100px;background: #f00;" onclick="dd('xyd')"></div>
</body>
<script>
function dd(elm){
var GOUrl="GO.html?cs="+elm;
location.href=GOUrl;
}
</script>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>页面B</title>
</head>
<body>
<h1>一个有梦想的咸鸭蛋</h1>
</body>
<script>
var locationUrl=location.href
var shuju=window.location.href.split("=")[1];
console.log(shuju);
</script>
</html>
方法二 正则 (原博主强烈推荐)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h1>一个有梦想的咸鸭蛋</h1>
</body>
<script>
function GetQueryString(name)
{
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null){
return unescape(r[2])
}else{
return null
};
}
// console.log(GetQueryString("参数名称1"));
// console.log(GetQueryString("参数名称2"));
// console.log(GetQueryString("参数名称3"));
//是否有参数
var myurl=GetQueryString("cs");
if(myurl !=null && myurl.toString().length>1)
{
console.log(GetQueryString("cs"));
}
</script>
</html>
通过web缓存一样可以达到这样的效果,不确定这样是否可以,就不附上代码了