gpt4 book ai didi

javascript - 如何使用 jQuery $.cookie() 将对象数组存储在 cookie 中?

转载 作者:行者123 更新时间:2023-12-03 21:45:54 26 4
gpt4 key购买 nike

我有一个 javascript 对象列表:

var people = [
{ 'name' : 'Abel', 'age' : 1 },
{ 'name' : 'Bella', 'age' : 2 },
{ 'name' : 'Chad', 'age' : 3 },
]

我尝试使用 jQuery $.cookie() 将它们存储在浏览器 cookie 中:

$.cookie("people", people);

然后我检索此 cookie,然后尝试将另一个对象插入其中:

var people = $.cookie("people");
people.push(
{ 'name' : 'Daniel', 'age' : 4 }
);

但是,这不起作用;我在 Firebug 中分析了这段代码,控制台指出 people 是一个字符串 ("[object Object],[object Object],[object Object]"),并且推送功能不存在。

这是怎么回事?存储和检索对象列表的正确方法是什么?

最佳答案

Cookie 只能存储字符串。因此,您需要将对象数组转换为 JSON 字符串。如果您有 JSON 库,则只需使用 JSON.stringify(people) 并将其存储在 cookie 中,然后使用 $.parseJSON(people) 取消字符串化它。

最后,您的代码将如下所示:

var people = [
{ 'name' : 'Abel', 'age' : 1 },
{ 'name' : 'Bella', 'age' : 2 },
{ 'name' : 'Chad', 'age' : 3 },
];
$.cookie("people", JSON.stringify(people));
// later on...
var people = $.parseJSON($.cookie("people"));
people.push(
{ 'name' : 'Daniel', 'age' : 4 }
);
$.cookie("people", JSON.stringify(people));

关于javascript - 如何使用 jQuery $.cookie() 将对象数组存储在 cookie 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9040110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com