页面跳转传参,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);
}

 

 

 

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue 2中,你可以使用路由传参的方式将A页面的输入框值传递给B页面,并将数据存储在本地,然后在C页面从本地获取这些数据。下面是具体的步骤: 1. 首先,确保你已经安装并配置了Vue Router。 2. 在A页面的按钮点击事件中,使用`$router.push`方法将输入框的作为参数传递给B页面,并存储在本地存储中。 ```javascript // A页面按钮点击事件 handleClick() { const name = this.name; // 姓名输入框的 const birthday = this.birthday; // 生日输入框的 const age = this.age; // 年龄输入框的 // 将数据存储在本地存储 localStorage.setItem('name', name); localStorage.setItem('birthday', birthday); localStorage.setItem('age', age); // 跳转到B页面,并传递参数 this.$router.push({ name: 'B', params: { name, birthday, age } }); } ``` 3. 在B页面中,通过`$route.params`来获取从A页面传递过来的参数,并将其保存到B页面的数据中。 ```javascript // B页面 export default { data() { return { name: '', birthday: '', age: '' }; }, created() { this.name = this.$route.params.name; this.birthday = this.$route.params.birthday; this.age = this.$route.params.age; }, ... } ``` 4. 在B页面的按钮点击事件中,将B页面的数据存储到本地存储,并跳转到C页面。 ```javascript // B页面按钮点击事件 handleClick() { // 将数据存储在本地存储 localStorage.setItem('name', this.name); localStorage.setItem('birthday', this.birthday); localStorage.setItem('age', this.age); // 跳转到C页面 this.$router.push({ name: 'C' }); } ``` 5. 在C页面中,从本地存储中获取数据。 ```javascript // C页面 export default { data() { return { name: '', birthday: '', age: '' }; }, created() { this.name = localStorage.getItem('name'); this.birthday = localStorage.getItem('birthday'); this.age = localStorage.getItem('age'); }, ... } ``` 以上就是使用Vue Router传递参数和本地存储来实现在A、B、C页面传递数据的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值