2 shanjin3953 shanjin3953 于 2017.01.13 14:04 提问

关于localStorage本地存储的问题?
 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之前存储的数据就会被清空,请问有什么方法可以让刷新后再点击也不清空数据吗?

3个回答

showbo
showbo   Ds   Rxr 2017.01.13 14:45
已采纳

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.2.min.js"></script>
<input type="button" id="button">
<script>
    var aaa = 'afwefrwefwef';
    var storage = window.localStorage;
    ////////////
    var obj = storage.getItem("oXML");
    obj = obj ? JSON.parse(obj) : {};
    ////////////
    console.log(obj)
    var num = 1;
    $('#button').click(function () {
        num++;
        obj[num] = aaa;
        storage.setItem("oXML", JSON.stringify(obj));
    })
</script>
qq_28707015
qq_28707015   2017.01.13 14:14

再点击之后,之前的数据被你覆盖了,你可以将之前的数据取出来,和之后的数据合并再写入localstorage

shanjin3953
shanjin3953 能够写下吗,我也这样做过,但是一直不行
11 个月之前 回复
sinat_30907827
sinat_30907827   2017.01.20 16:36

同意楼上,在setItem之前先getItem将之前的值取出来,然后和后面的值拼接起来再setItem

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!