可能重复:
如何在 jquery cookie 中存储数组?
如何在javascript中将数组的每个内容存储在cookie中,并且我必须检索数组的所有术语?我试过了,但我无法从 cookie 中取回项目....
我的代码在我试过的下面
var myArray=["123","234","32"];
$.cookie('myCookie', escape(myArray), { expires: 1});
var s = unescape($.cookie('myCookie');
可能重复:
如何在 jquery cookie 中存储数组?
如何在javascript中将数组的每个内容存储在cookie中,并且我必须检索数组的所有术语?我试过了,但我无法从 cookie 中取回项目....
我的代码在我试过的下面
var myArray=["123","234","32"];
$.cookie('myCookie', escape(myArray), { expires: 1});
var s = unescape($.cookie('myCookie');
使用 JQuery,您可以使用序列化函数检索字符串中的所有数据:http: //api.jquery.com/serialize/
要在 JavaScript 中创建 cookie,您必须将字符串分配给document.cookie
.
它采用某种name = value
格式的值,例如
document.cookie = 'data=hello; max-age=60; path=/; domain=yoursite.com';
在此处存储数组的最佳方法是使用JSON和方法JSON.stringify():
var arr = ['hello', 'goodbye', 'au revoir'];
document.cookie = 'data=' + escape(JSON.stringify(arr)) + '; max-age=60; path=/; domain=yoursite.com'
(注意 cookie 必须 <= 4KB)
检索 cookie 有点困难,因为它是一个字符串,所以我借用了这个函数,它在字符串中搜索你的 cookie 名称,然后返回它的值:
// Source: http://www.thesitewizard.com/javascripts/cookies.shtml
function get_cookie ( cookie_name )
{
var cookie_string = document.cookie ;
if (cookie_string.length != 0) {
var cookie_value = cookie_string.match (
'(^|;)[\s]*' +
cookie_name +
'=([^;]*)' );
return decodeURIComponent ( cookie_value[2] ) ;
}
return '' ;
}
在我们的示例中,您将像这样使用它:
var cookie = get_cookie('data');
var arr = JSON.parse(cookie); // Convert JSON string back into array
注意我使用JSON.parse()将 JSON 字符串转换回 JavaScript 数组。
有关在 JavaScript 中使用 cookie 的更多信息,我建议您阅读:http ://www.thesitewizard.com/javascripts/cookies.shtml