我尝试做的是使用html5将多个值(user1,user2,user3 ...)添加到本地存储中。但问题是每当我添加一条记录时,旧记录都会被删除。如果有人可以提供帮助,这是我的代码:
$("#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');
}
});
请任何人都可以帮忙???
答案 0 :(得分:2)
您可以使用电子邮件识别每条记录(电子邮件是唯一的):
var user = {
email : $("#email").val(),
username : $("#username").val(),
password : $("#password").val()
}
var record = JSON.stringify(user);
localStorage.setItem(user.email, record);
答案 1 :(得分:0)
浏览器中的localStorage
只是一个简单的键值存储。要么为每个用户提供自己的密钥,要么将user
密钥设置为用户数组。
答案 2 :(得分:0)
您可以存储一组用户。 Demo
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));
答案 3 :(得分:0)
## 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);