Javascript 使用JS/JQuery创建永不过期的Cookie数组?
我有一个网站与报价,并希望用户能够最喜欢的报价点击明星图标。我有以下代码:Javascript 使用JS/JQuery创建永不过期的Cookie数组?,javascript,jquery,arrays,cookies,Javascript,Jquery,Arrays,Cookies,我有一个网站与报价,并希望用户能够最喜欢的报价点击明星图标。我有以下代码: 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();
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数组,其中所有将被单击的引号都保存在cookie数组“fav”中,因此我可以向用户显示所有保存引号的列表。如何实现这一点?使用JSON.stringify()和JSON.parse()方法将数组或对象作为字符串存储在cookie中,并在以后检索 Cookies只能作为字符串保存。如果我想模拟一个数组,我会将它序列化并反序列化。可以使用库写入数组
var cookieArray= {};
cookieArray[id] = true; //or whatever value
var stringifiedArr = JSON.stringify(cookieArray);
$.cookie("favs",stringifiedArr , { path: '/' });
读饼干
var arrFromCookie = $.cookie("favs");
var favsCookieData = JSON.parse(arrFromCookie);
谢谢,我现在可以存储它了,但是每次单击时cookie都会被覆盖。为什么它不向现有的cookie添加新值而不是覆盖它呢?所以在更新之前只需解析它,并在字符串化againThanks之前更新数组!这对我很有帮助。