如何在浏览器cookie中保存jquery数组?

时间:2016-04-18 14:28:34

标签: jquery cookies

我有这样的jquery数组:

[1: "0", 2: "0,1,2,3"]

我想将其保存在浏览器Cookie中。但据我所知,只有字符串可以保存在浏览器cookie中。所以我必须将此jquery数组转换为字符串,然后保存在cookie中。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

Cookie只能存储字符串。因此,您需要将数组转换为JSON字符串。如果你有JSON库,你可以简单地使用JSON.stringify(data)并将其存储在cookie中,然后使用$ .parseJSON(data)对其进行解串。

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

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

$.cookie("data", JSON.stringify(data));
// later on if you need to add any element...
var data = $.parseJSON($.cookie("data"));
data.push(
    { 'name' : 'Daniel', 'age' : 4 }
);
$.cookie("data", JSON.stringify(data));

答案 1 :(得分:0)

[1:" 0",2:" 0,1,2,3"]这不是一个数组,写错了; {1:" 0",2:" 0,1,2,3"}如果你这样写,它是一个对象,所以你可以这样做:



var target = {1: "0", 2: "0,1,2,3"};
for(let name in target){
  document.cookie = name + "=" +  target[name];
}