2014-03-25 114 views
0

我在本地存储中有一些数据它看起来像这样shotemup_dslfjsdlfjsdf_1395732812679 8(key,value),在我需要将这些数据发送到服务器后,如果成功,我需要从localstorage删除1行从本地存储删除项目ajax

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的 shotemup_123_1395733862023 8235 shotemup_2342_1395733866192 8235 shotemup_dslfjsdlfjsdf_1395732812679 8在localStorage的200码的处理程序会记录shotemup_dslfjsdlfjsdf_1395732812679 3次

回答

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); 
} 
+0

哦,我看到了不同的 –

0

那么你可以使用下面给出的这些方法: -

localStorage.removeItem('name'); 

这种方法从localStorage的去除单和颗粒项目。

localStorage.clear(); 

此方法用于copmletely清除localStorage。

相关问题