将数组存储到Cookie Jquery

Red*_*all 0 javascript arrays cookies jquery

我在我的代码中创建一个看起来像这样的数组

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 
Run Code Online (Sandbox Code Playgroud)

tec*_*bar 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'));
Run Code Online (Sandbox Code Playgroud)

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