【发布时间】:2015-04-11 14:18:02
【问题描述】:
在 javaScript 中,使用 jQuery 库,我需要:
- 获取对象数组。
- 字符串化。
- 将其保存为 cookie。
- 刷新时 -> 解析 cookie 并“重新创建”数组。
使用 JSON 很容易。
// Write JSON Cookie
var foo = JSON.stringify(myValue);
writeCookie(foo);
// Read [Eat?] JSON Cookie
var foo = JSON.parse(readCookie("myArray"));
if(foo.length) {
myArray = foo;
}
(注意:writeCookie(); readCookie(); 是我根据quirksmode.org 上建议的 cookie 函数编写的 2 个函数。)
现在,我的用户群涉及很多 IE8 之前的浏览器。 (不支持这些方法)。所以我想求助于 jQuery 来填补这些漏洞。 Parsing JSON 很简单:
// Read JSON Cookie with jQuery
var foo = jQuery.parseJSON(readCookie("myArray"));
if(foo.length) {
myArray = foo;
}
我的问题是如何使用 jQuery 将 JSON 对象写入 cookie(以便它适用于早期版本的 IE)。
谢谢
更新:仍然对为什么 jQuery 会提供 parseJSON 函数而不是 writeJSON 函数感到困惑?
【问题讨论】:
-
取决于数组的大小,您可能希望使用 localStorage,因为它有更高的长度限制
-
谢谢,我存储的数组不是很大。只存储“选定单位”等信息。
-
@Jon Meh;该解决方案是导入另一个库。我已经在使用几个库。真的不想再添加一个。 (我不喜欢盲目使用其他人的代码)。我只是假设,因为 jQuery 有一个 parseJSON 函数,所以它会有一个 writeJSON 函数。可能是我是 st000pid。
-
@User2:不需要,因为它不需要该功能。如果您需要支持 IE7,那么您必须使用 polyfill。这不是世界末日。
标签: javascript jquery json cookies