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之前存储的数据就会被清空,请问有什么方法可以让刷新后再点击也不清空数据吗?
<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>
再点击之后,之前的数据被你覆盖了,你可以将之前的数据取出来,和之后的数据合并再写入localstorage
同意楼上,在setItem之前先getItem将之前的值取出来,然后和后面的值拼接起来再setItem