首页 新闻 会员 周边 捐助

关于localStorage本地存储的问题?

0
悬赏园豆:10 [待解决问题]
 var aaa = 'afwefrwefwef';
            var obj = {};
            var num = 1;
            var storage = window.localStorage;
            $('#button').click(function(){
                num++;
                obj[num] = aaa;
                storage.setItem("oXML", JSON.stringify(obj));
            })

这是代码,我每次点击button后存储是正常的,但是刷新页面后,再点击button之前存储的数据就会被清空,请问有什么方法可以让刷新后再点击也不清空数据吗?

坏人未变坏的主页 坏人未变坏 | 初学一级 | 园豆:159
提问于:2017-01-13 14:11
< >
分享
所有回答(5)
0

你所谓的清空是指num变回1了吧?

吴瑞祥 | 园豆:29449 (高人七级) | 2017-01-13 14:20

恩,实际的代码不是这样的,我改了下。num每次点击都会改变

支持(0) 反对(0) 坏人未变坏 | 园豆:159 (初学一级) | 2017-01-13 14:24

@坏人未变坏: 你把num每次改变后也存起来不久好了

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2017-01-13 14:37
0

你没有把num存放在localStorage,所以应该是每次刷新页面都会变的。如果需要保存num值,请照样保存到localStorage

心雨纷扬 | 园豆:309 (菜鸟二级) | 2017-01-13 16:14
0

刷新页面时num被重置 导致之前存储的字符串被替换


好来污影后 | 园豆:287 (菜鸟二级) | 2017-01-13 20:28
0

点击按钮存储后,他已经存储到了浏览器,每次刷新时你要主动去获取

var oXML= localStorage.getItem("oXML");

此时oXML即为你刚刚存储的数据,当然这只是简单说一下,

严谨点每次刷新时你都要先获取然后判断,如果数据存在就显示,不存在就

localStorage.setItem("oXML",“数据”);

默然沉醉 | 园豆:372 (菜鸟二级) | 2017-02-21 15:49
0

每次刷新后,要先讲obj这些数据从storage里读出来。

    <script>
        var aaa = 'afwefrwefwef';
        var obj = {};
        var num = 1;
        var oXML = Storage.getItem("oXML");
        if(oXML){
            obj = JSON.parse(oXML);
            num = obj.num;
        }
        var storage = window.localStorage;
        $('#button').click(function(){
            num++;
            obj[num] = aaa;
            storage.setItem("oXML", JSON.stringify(obj));
        })
    </script>

有问题可以加我QQ 2057388734

Joey先生 | 园豆:232 (菜鸟二级) | 2019-05-13 16:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册