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( ” 字符串 ” )

posted @ 2020-01-07 15:17  ZJTL  阅读(8415)  评论(0编辑  收藏  举报