所以,我一直在学习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 session 垃圾):
ItemCart=EyG439ktw8hT; should now be
这意味着替换功能正确完成,但 cookie 不会改变。
这是否与不直接处理到期日期有关?
我不太明白这是怎么回事。如有任何帮助,我们将不胜感激。
最佳答案
document.cookie
不能以这种方式工作。它不是一个真正的变量,更像 special syntax .
要取消设置 cookie,请执行以下操作
document.cookie = "ItemCart=; expires=Thu, 01 Jan 1970 00:00:00 GMT;"
诚然,这很奇怪。
关于javascript - 为什么这个 cookie 在分配时不会改变它的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38711408/