我有一个带引号的网站,希望用户能够点击星标图标。我有这段代码:
jQuery('.fav').click(function(event) {
event.preventDefault();
$this = $(this).parent();
var id = $this.attr("data-id");
// Build the expiration date string:
var expiration_date = new Date();
var cookie_string = '';
expiration_date.setFullYear(expiration_date.getFullYear() + 1);
// Build the set-cookie string:
cookie_string = "fav="+id+"; path=/; expires=" + expiration_date.toGMTString();
// Create/update the cookie:
document.cookie = cookie_string;
});
但这只保存了一个cookie“fav = id”。我想创建一个cookie数组,其中所有将被点击的引号都将其id保存在cookie数组“fav”中,因此我可以向用户显示所有已保存引号的列表。我怎么能做到这一点?
答案 0 :(得分:0)
使用JSON.stringify()和JSON.parse()方法将数组或对象存储为cookie中的字符串,并在以后检索它。
答案 1 :(得分:0)
Cookie只能作为字符串保存。如果我想模拟一个数组,我将序列化它并反序列化它。可以使用Json库
答案 2 :(得分:0)
编写数组
var cookieArray= {};
cookieArray[id] = true; //or whatever value
var stringifiedArr = JSON.stringify(cookieArray);
$.cookie("favs",stringifiedArr , { path: '/' });
阅读cookie
var arrFromCookie = $.cookie("favs");
var favsCookieData = JSON.parse(arrFromCookie);