向本地存储中添加多条记录

adding multiple records into local storage

本文关键字:记录 添加 存储      更新时间:2023-09-26

我想做的是添加多个值(user1,user2,user3…)到本地存储使用html5。但问题是,每当我添加一条记录时,旧记录就会被删除。这是我的代码,如果有人可以帮助请:

         $("#submit").click(function(){
         if ('localStorage' in window && window['localStorage'] !== null) {
        try {
            var user = JSON.stringify({ 
                 email : $("#email").val(), 
                 username : $("#username").val(), 
                 password : $("#password").val(), 
                    });
            localStorage.setItem("user", JSON.stringify(user)); 
            alert("The data was saved."); 
            return true;
        } catch (e) {
            if (e == QUOTA_EXCEEDED_ERR) {
                alert('Quota exceeded!');
            }
        }
        } else {
            alert('Cannot store user preferences as your browser do not support local storage');
        }
    });

请问有人可以帮忙吗??

您可以使用电子邮件来标识每条记录(电子邮件是唯一的):

var user = {
    email : $("#email").val(), 
    username : $("#username").val(), 
    password : $("#password").val()
}
var record = JSON.stringify(user);
localStorage.setItem(user.email, record); 
## This would be a simple way to save multiple data into localStorage ##    

var arrList=[];
var dataList=null;
var dataValue={email : $("#email").val(), 
             username : $("#username").val(), 
             password : $("#password").val()};
dataList=JSON.parse(localStorage.getItem("localKey"));
if(arrList!=null)
{
arrList=dataList;
arrList.push(dataValue);
}
 else{
arrList.push(dataValue);
}
localStorage.setItem("localKey",JSON.stringify(arrList);

浏览器中的localStorage只是一个简单的键值存储。要么给每个用户自己的密钥,要么让user密钥成为一个用户数组。

可以存储一个用户数组。演示。

var user = JSON.stringify({ 
                 email : $("#email").val(), 
                 username : $("#username").val(), 
                 password : $("#password").val(), 
                    }),
                users = localStorage.getItem('user');
            users = users ? JSON.parse(users) : [];
            users.push(user);
            localStorage.setItem("user", JSON.stringify(users));