页面跳转传参,A 页面跳转到B页面,把A页面获取的值传到B页面

1、问题:

      最近遇到一个问题,在A页面跳转到B页面时,同时将一个值带到B页面并显示出来。

      最后找到一个比较靠谱的方法,分享给大家~

2、解决:

      页面其他内容不再展示,只写A,B两个页面的JS代码段,有基础的同学应该是能看懂的。

      注:中文传输:可以在页面a用encodeURI 编码url  在b页面用decodeURI解码url

  A页面JS代码

<script language="JavaScript">
    function test(){
        var temp = document.getElementById("txt");
        location.href="test2.html?"+"txt="+encodeURI(temp.value);
    }
</script>

  B页面JS代码

<script type="text/javascript">
    // 地址的总长度
    var n1 = location.href.length;
    // 取得=号的位置
    var n2 = location.href.indexOf("=");
    // 截取=号后面的内容
    var id = decodeURI(location.href.substr(n2+1, n1-n2));
    // 控制台打印输出
    console.log("获取的邮箱地址:" + id);
    // 将获取的值设置到指定位置
    $("#temp").html(id);
</script>

3、总结:

      这种方法对传递几个值的情况适用,如果传递的值比较多的话,这种方法有一定得局限性。

 

4、补充:

      4.1、问题:

               近期用该方法时,遇到了一点问题,截取传过来的值时,在Chrome,IE,Firefox中都没有问题,

               但是在微信内置浏览器和Safari浏览器中执行异常

      4.2、原因:

               经排查发现,微信内置浏览器会在地址后自动加上浏览器标识,截取的不是原来想要的值

      4.3、解决:

               加上下面的代码,判断一下,只截取自己想要的值即可

uid = decodeURI(location.href.substr(n2 + 1, n1 - n2));
if(uid.length > 8){
    uid = uid.substring(0, 8);
}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值