我在localstorage中有一些数据看起来像这个shotemup_dslfjsdlfjsdf_1395732812679 8
(键,值),经过一些动作后我需要将这些数据发送到服务器,如果成功,我需要删除1行来自localstorage
for(var i=0, len=localStorage.length; i<len; i++) {
var name = localStorage.key(i);
var score = localStorage[name];
console.log(name + " " + score);
title = name.substring(0, name.indexOf('_'));
username = name.substring(name.indexOf('_') + 1, name.lastIndexOf('_'));
var toDelete = name;
if(title == "shotemup"){
$.ajax({
type: "POST",
url: "/scores",
data : {name : username, score : score },
statusCode :{
400: function() {
console.log("Wrong data");
},
200: function(){
console.log(toDelete);
}
},
});
}
}
但是当我记录我要删除的内容时,我有相同的行(在200代码处理程序中)
例如我在localstorage中
localstorage 200代码处理程序中的shotemup_123_1395733862023 8235
shotemup_2342_1395733866192 8235
shotemup_dslfjsdlfjsdf_1395732812679 8
将记录shotemup_dslfjsdlfjsdf_1395732812679
3次
答案 0 :(得分:3)
您可以使用removeItem()方法
for (var i = 0, len = localStorage.length; i < len; i++) {
//use a closure to escape the loop variable
(function(i){
var name = localStorage.key(i);
var score = localStorage[name];
console.log(name + " " + score);
title = name.substring(0, name.indexOf('_'));
username = name.substring(name.indexOf('_') + 1, name.lastIndexOf('_'));
var toDelete = name;
if (title == "shotemup") {
$.ajax({
type: "POST",
url: "/scores",
data: {
name: username,
score: score
},
statusCode: {
400: function () {
console.log("Wrong data");
},
200: function () {
console.log(toDelete);
//remove item with the given name
localStorage.removeItem(name)
}
},
});
}
})(i);
}
答案 1 :(得分:0)
您可以使用以下方法: -
localStorage.removeItem('name');
此方法用于从localStorage中删除单个和颗粒物品。
localStorage.clear();
此方法用于copmletely清除localStorage。