我有一个应用程序,我在客户端使用JavaScript来构建集合。在page1.html上我有以下内容:
var collection = [];
$.each(item, function (i, r) {
collection.push(r);
});
alert(collection.length);
window.localStorage.setItem("collection", collection);
执行此代码时,我会在消息框中看到“4”。这正是我所期待的。当我导航到page2.html时,我有以下内容:
$(document).ready(function () {
var collection = window.localStorage.getItem("collection");
alert(collection.length);
});
执行此代码时,我会在消息框中看到“63”。我期待着“4”。我不知道是什么原因引起的。我的预感是,它与我试图存储一个集合的事实有关,我没有像我应该那样得到/设置。这种方法适用于我的应用程序中一些纯字符串相关的值。我不知道为什么它不在这里工作。任何人都可以指出我正确的方向吗?
谢谢!
答案 0 :(得分:0)
localStorage
只能用于将对象存储为字符串,因此您需要将列表序列化为字符串(可能使用逗号或空字符)。
一个想法是在JSON.stringify
上使用jQuery的collection
方法并存储它。
请随时查看this post以获取更多信息。