shanjin3953
坏人未变坏
2017-01-13 06:04
采纳率: 46.2%
浏览 1.4k

关于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
    已采纳
    
    <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 06:14

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

    点赞 评论
  • sinat_30907827
    非梧不栖11 2017-01-20 08:36

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

    点赞 评论

相关推荐