设置Cookie后无法删除它们

时间:2019-03-27 15:56:03

标签: javascript cookies

我正在使用此功能设置Cookie

    function setCookie(name,value,days) {
      var expires = "";
      if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        expires = "; expires=" + date.toUTCString();
      }
      document.cookie = name + "=" + (value || "")  + expires + "; path=/";
    }

setCookie("test_cookie", "test_value", 1);

我找到了here删除Cookie的不同方法,但没有一种对我有用。例如,我尝试失败了:

document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';

我在Firefox和chrome上都尝试了此代码。更改expires值后,cookie仍保留在浏览器中,您对此问题有想法吗?

1 个答案:

答案 0 :(得分:0)

我刚遇到这个问题,终于解决了。您的Cookie很可能不会被删除,因为在您设置新值时,它必须与您要删除的原始Cookie的路径和域相匹配。

换句话说:

 document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT;path=[something];"

“某物”值需要与现有Cookie设置的值保持一致。

JS调试器可能不会为您提供有关路径和域的详细信息,但是如果您在Chrome->设置或类似面板中查找现有cookie的值,就会很明显地找到您不匹配的路径和域。在Firefox / Safari / IE中。

让我知道是否有帮助。