将数组存储到Cookie Jquery

时间:2014-07-27 09:09:18

标签: javascript jquery arrays cookies

我在我的代码中创建了一个类似于

的数组

Array [ "type", "year", "week" ]

当我将其保存到cookie并再次阅读时,格式为

Array [ "type,year,week" ]

如何保留原始格式Array [ "type", "year", "week" ]我想它会在添加到Cookie时被删除为CSV格式。

提前致谢

我的代码:

var myArray = [ "type", "year", "week" ]
$.cookie('setup', myArray, { path: '/' }); // set up cookie 

1 个答案:

答案 0 :(得分:5)

Cookies存储字符串值。

在将数组存储到cookie中之前,需要序列化数组(使用JSON或使用预定义的分隔符连接),并在读取时对其进行反序列化。

例如:

// store into cookie
$.cookie('setup', myArray.join('|'), { path: '/' });
OR
$.cookie('setup', JSON.stringify(myArray), { path: '/' });

// read from cookie
myArray = $.cookie('setup').split('|');
OR
myArray = JSON.parse($.cookie('setup'));

注意:JSON版本更安全,因为它们可以与任何类型的数组一起使用。前者假设您的数组元素中不包含|