页面之间传递数据我们常用到的两种方式:
- 把要传递的数据作为字符串拼接到要跳转的url后面,另一个页面直接读取本页面的url
这是封装好的两个函数,直接拿来调用就可以
//把参数拼接到url后面
function grow(obj,url) {
var s = '';
for(var k in obj){
s += "&"+k+"="+obj[k];
}
var Str = s.substr(1);
if(url.indexOf("?") > -1){
url = url+"&"+Str;
}else{
url = url+"?"+Str;
}
return url;
}
//从url读取数据
function GetQueryString(name,url)
{
url = url || window.location.search.substr(1);
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = url.match(reg);
if(r!=null)return decodeURI(r[2]);
return null;
}
//点击跳转到b页面
$("跳转按钮").on("click",function () {
var name = $("name").val();
var id = $("id").val();
var currentCity = {
cityid:id,
cityName:name
};
var url = "b.html";
window.open( grow(currentCity,url),"_self");
});
//b页面读取数据
var cityId = GetQueryString("cityid","");
var cityName = GetQueryString("cityName","");
- 把数据存储到cookie或者localStorage里面,这样在无论在哪个页面都可以读取到。
省略号,懒得写