所以,我一直在学习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不会改变。
这是否与不直接处理到期日有关?
我真的不明白这里发生了什么。任何帮助表示赞赏。
答案 0 :(得分:1)
document.cookie
不起作用。它不是真正的变量,更像是special syntax。
要取消设置Cookie,请执行
document.cookie = "ItemCart=; expires=Thu, 01 Jan 1970 00:00:00 GMT;"
不可否认,这很奇怪。