为什么这个cookie在分配时不会改变它的价值?

时间:2016-08-02 03:42:03

标签: javascript cookies

所以,我一直在学习cookie。我一直试图从名为' ItemCart'的Cookie中删除我在商店购物车中使用的某个产品哈希值。 cookie以这种方式格式化:

ItemCart = productHash;

但是,当我尝试删除它时,cookie看起来似乎是以某种方式拒绝了这种变化。这是js中的代码:

var cookieRemoval = document.cookie.replace("ItemCart="+this.getAttribute("data-hash")+"; ", "");
document.cookie = cookieRemoval;
console.log(document.cookie + " should now be " + cookieRemoval);

其中data-hash是被点击的页面当前元素的数据属性,用于删除cookie中的哈希值。

这是控制台中的输出(避免php会话垃圾):

ItemCart=EyG439ktw8hT; should now be

这意味着替换功能正确完成,但cookie不会改变。

这是否与不直接处理到期日有关?

我真的不明白这里发生了什么。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

document.cookie不起作用。它不是真正的变量,更像是special syntax

要取消设置Cookie,请执行

document.cookie = "ItemCart=; expires=Thu, 01 Jan 1970 00:00:00 GMT;"
不可否认,这很奇怪。