Javascript 使用 path=/设置 cookie

标签 javascript cookies

我正在创建 cookie,旨在在我的整个网站上共享。

这是创建此类 cookie 的代码:

var setCookie = function(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires="+d.toUTCString();
    var path ="path=/;";
    document.cookie = cname + "=" + cvalue + ";" + expires + ";" + path;
};

它看起来非常简单,我使用 path=/ 来表明我想要在我的网站上始终创建或修改相同的 cookie。

问题在于它为每个 URL 创建一个 cookie。通过 Mozilla 插件,我可以看到以下内容:

Cookie Name         Value   Path
timer_is_enabled    true    /
timer_is_enabled    false   /foo
timer_is_enabled    true    /foo/bar

这导致了我的许多错误,因为正在访问的变量不是唯一的,而是许多独立的变量。

知道为什么我会出现这种行为吗?

最佳答案

您的代码应该按预期工作,至少在 path 属性方面是如此。这些其他 cookie 可能是早期测试的残余(遗憾的是,通常无法跟踪给定 cookie 的创建日期,因为浏览器通常不会保留此类信息)。

我建议您从浏览器中删除当前所有 Cookie,然后重试。

关于Javascript 使用 path=/设置 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39719284/

相关文章:

http - Servicestack 请求 header 不包含 cookie

javascript - 如何以增量分辨率下载图像?

javascript - 我遇到错误,由于某种原因,数字被更改,而不是名称?

cookies - herokuapp.com 上的 Heroku 应用程序中的 Cookie 安全吗?

angularjs - 用于 Https 协议(protocol)上的 angularJs 应用程序的带有 HttpOnly 标志的 Cookie

tomcat - 每个页面的多个有状态 iframe 将覆盖 JSESSIONID?

api - 如何在golang中通过重定向发送cookie?

javascript - 如何读取html5应用程序中的当前位置

javascript - 向 contentEditable div 中的特定单词添加跨度?

javascript - 获取引用错误 : setInterval is not defined