无法使用 Javascript 将 cookie 路径设置为根目录
Cannot set cookie path to the root directory with Javascript
在本地主机上。使用 Firefox 88.0(私有 window)。我的文档树:
/index.html
/page1/index.php
/page2/index.php
这是我设置 cookie 的 JS(在 page1
上):
function setCookie(name, value) {
document.cookie = name + "=" + value;
document.cookie = "path=/";
}
每次我调用该函数时(我认为)都会覆盖 /
的 cookie 路径。在同一个 JS 文件的开头,我有:alert(document.cookie);
。它在我保存时显示完整的 cookie,包括 path=/
.
在主页上 (/index.html
) 我有:<script>alert(document.cookie);</script>
。但它显示一个空警报。我没有看到饼干。但是,如果我回到 page1
,我就会再次看到 cookie。这是为什么?
我也试过(来自其他 SO 答案的解决方案):
- 访问 127.0.0.1 - 无效(端口始终为 80)。
- 正在上传到网络服务器。结果同上。
- 在 Chrome.
上访问本地主机(localhost
和 127.0.0.1
)
无法解决。有人可以帮忙吗?提前致谢!
显然我必须在设置cookie时设置路径,而不是在设置cookie后使用document.cookie
。
这解决了问题:
function setCookie(name, value) {
document.cookie = name + "=" + value + ";path=/"; //Set the path while setting the Value.
}
在本地主机上。使用 Firefox 88.0(私有 window)。我的文档树:
/index.html
/page1/index.php
/page2/index.php
这是我设置 cookie 的 JS(在 page1
上):
function setCookie(name, value) {
document.cookie = name + "=" + value;
document.cookie = "path=/";
}
每次我调用该函数时(我认为)都会覆盖 /
的 cookie 路径。在同一个 JS 文件的开头,我有:alert(document.cookie);
。它在我保存时显示完整的 cookie,包括 path=/
.
在主页上 (/index.html
) 我有:<script>alert(document.cookie);</script>
。但它显示一个空警报。我没有看到饼干。但是,如果我回到 page1
,我就会再次看到 cookie。这是为什么?
我也试过(来自其他 SO 答案的解决方案):
- 访问 127.0.0.1 - 无效(端口始终为 80)。
- 正在上传到网络服务器。结果同上。
- 在 Chrome. 上访问本地主机(
localhost
和 127.0.0.1
)
无法解决。有人可以帮忙吗?提前致谢!
显然我必须在设置cookie时设置路径,而不是在设置cookie后使用document.cookie
。
这解决了问题:
function setCookie(name, value) {
document.cookie = name + "=" + value + ";path=/"; //Set the path while setting the Value.
}