使用localStorage进行页面间传值

本文介绍了如何通过JavaScript的localStorage特性,在不同的HTML页面之间传递参数。在A页面中存储数据,然后在B页面加载时读取这些数据,实现页面间的通信。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A页面:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>页面之间传值——localStorage方法</title>
</head>

<body>
    <div id="app">

        <h1>利用HTML5 Web 存储 localStorage</h1>

        <form>
            <div> 昵称:<span>{{userInfo.nickname}}</span></div>
            <div> 电话:<span>{{userInfo.mobile}}</span></div>
            <div> 喜欢的艺人:<span>{{userInfo.fav_singer}}</span></div>
        </form>
        <a href="./storageB.html">点击跳转到接收参数的页面</a>

    </div>


    <script src="../js/vue.js"></script>
    <script>
        var vm = new Vue({
            el: "#app",
            data: {
                userInfo: {}
            },
            methods: {
                getUserInfo() {
                    let userInfo = {
                        "id": 1,
                        "nickname": "zff",
                        "mobile": "1234567890",
                        "fav_singer": "yyqx"
                    }
                    this.userInfo = userInfo;
                    console.log(this.userInfo)
                },

                save() {
                    if (typeof (Storage) == "undefined") {
                        alert("对不起,您的浏览器不支持 web 存储。");
                    }
                    //保存数据  
                    var infoStr = JSON.stringify(this.userInfo); // 将对象转换为字符串
                    localStorage.setItem('userInfo', infoStr);
                    alert("保存成功");

                },

            },
            created: function () {
                this.getUserInfo();
                this.save();
            }
        })
    </script>
</body>

</html>

接收参数的B页面:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>接收参数页</title>
</head>

<body>
    <div id="app">

        <h1>利用HTML5 Web 存储 localStorage 接收页</h1>

        <form>
            <div> 接收到的昵称:<span>{{userInfo.nickname}}</span></div>
            <div> 接收到的电话:<span>{{userInfo.mobile}}</span></div>
            <div> 喜欢的艺人:<span>{{userInfo.fav_singer}}</span></div>
        </form>

    </div>

    <script src="../js/vue.js"></script>
    <script>
        var vm = new Vue({
            el: "#app",
            data: {
                userInfo: {}
            },
            methods: {
                getUserInfo() {
                    var storage = window.localStorage;
                    var json = storage.getItem('userInfo');
                    this.userInfo = JSON.parse(json)
                    console.log(this.userInfo);
                },

            },
            created: function () {
                this.getUserInfo();
            }
        })
    </script>
</body>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不知-_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值