我在 Javascript 中有一个函数:
var a = [];
function SaveDataToLocalStorage(data)
{
var receiveddata = JSON.stringify(data);
a.push(receiveddata);
alert(a);
localStorage.setItem('session', a);
}
数据参数是一个 JSON 对象。
但每次我点击按钮时,它都会覆盖我本地存储中的数据。
有人知道怎么做这个吗?
原文由 nielsv 发布,翻译遵循 CC BY-SA 4.0 许可协议
您需要执行几个步骤才能将此信息正确存储在 localStorage 中。然而,在我们开始编写代码之前,请注意 localStorage(目前) 不能 保存除字符串以外的任何数据类型。您将需要序列化数组以进行存储,然后将其重新解析以对其进行修改。
步骤1:
如果您尚未在 localStorage
session
变量中存储序列化数组,则仅应运行下面的第一个代码片段。为确保正确设置 localStorage 并存储数组,请先运行以下代码片段:
上面的代码应该只运行 一次,并且只有当你还没有在你的 localStorage
session
变量中存储一个 数组 时。如果您已经这样做,请跳至第 2 步。第2步:
像这样修改你的函数:
这应该为您解决其余的问题。当你解析出来的时候,它会变成一个对象数组。
希望这可以帮助。