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

标签 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 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/

相关文章:

javascript - 三个 js 可点击对象

php - 为什么要使用 javascript 验证表单?

java - 应用程序上的旧新 "delete/invalidade"Cookie

javascript - 在 Android 浏览器中禁用 cookie 不起作用

javascript - 如何将特征集合过滤为可与 path.bounds() 一起使用的对象

javascript - 如何创建 jquery 上一个和下一个按钮来遍历数组中的 URL(分页)

javascript - 无法将我的计时器值存储在 cookie 中

c++ - CURLOPT_COOKIELIST 可以设置在不同的 curl easy handle 上吗?

ruby-on-rails - Ruby On Rails 中 CookieStore session 和加密 Cookie 的区别

javascript - 如何从 Javascript 解析外部文件中的 html