js页面跳转并传值的常用方法
1、页面A跳转到页面B及URL携带参数
window.location.href="../SystemInfoJsp/add_user.jsp?"+"id="+id+"&name="+name+"&grade="+grade;
获取参数方法
$(function() { var loc = location.href;//获取整个跳转地址内容,其实就是你传过来的整个地址字符串 console.log("我的地址"+loc); var n1 = loc.length;//地址的总长 var n2 = loc.indexOf("?");//取得=号的位置 var parameter = decodeURI(loc.substr(n2+1, n1-n2));//截取从?号后面的内容,也就是参数列表,因为传过来的路径是加了码的,所以要解码 var parameters = parameter.split("&");//从&处拆分,返回字符串数组 console.log("参数列表"+parameters); var paValue = new Array();//创建一个用于保存具体值得数组 for (var i = 0; i < parameters.length; i++) { console.log("参数键值对值"+i+":"+parameters[i]); var m1 = parameters[i].length;//获得每个键值对的长度 var m2 = parameters[i].indexOf("=");//获得每个键值对=号的位置 var value = parameters[i].substr(m2+1, m1-m2);//获取每个键值对=号后面具体的值 paValue[i] = value; console.log("参数值"+i+":"+value); } console.log("具体参数数组:"+paValue); });
要获取到你传过来的数据,可以通过数组paValue[index]的方式获取参数,比如上面我传过来了id,name,grade三个参数,那么paValue[0]就是id的值,paValue[1]就是name的值,paValue[2]就是grade的值。
2、通过localStorage 和 sessionStorage 先存本地在取出数据
用setItem来存数据,第一个参数是 名字,第二个参数是存数的数据
//存数据
window.localStorage.setItem(“data”, “kevin”);
window.sessionStorage.setItem(“data”, “kevin”);
用getItem来取数据,参入要取数据的 名字就好
//取数据
window.localStorage.getItem(“data”);
window.sessionStorage.getItem(“data”);
当然如果要存储的数据是一个对象的话,就需要将对象转换为字符串,在取数据的在将字符串转为对象就可以了
对象转字符串 JSON.stringify( ” 对象 ” )
字符串转对象 JSON.parse( ” 字符串 ” )