【发布时间】:2012-05-26 05:22:07
【问题描述】:
我对 cookie 感到困惑。如果我写这样的cookie
document.cookie = "userName=" + me.name + ";";
然后它通过 Ajax 调用和页面加载(我在其中读取和使用该值)传递给服务器。然而,cookie 在访问之间也会持续存在,即如果浏览器关闭并重新打开,它仍然存在。我不想要那个。但是如果我将它设置为这样的会话 cookie
document.cookie = "userName=" + me.name + "; expires=;";
然后在浏览器关闭时正确删除,但不会通过 Ajax 调用和页面加载发送到服务器。
(注意,浏览器会话之间的持续存在可能是 IE10 测试版错误,其他帖子建议我的第一行应该生成一个在浏览器关闭时过期的 cookie。)
这两行在创建的 cookie 类型方面有什么区别,如果我想要一个在浏览器关闭时死掉但传递给服务器的 cookie,那么设置它的正确 JavaScript 是什么?
【问题讨论】:
-
你在其他浏览器上试过了吗?这将帮助您了解意外行为是由 IE 错误引起的,还是与您有关。
-
不,我没有,但这是一个很好的建议,我会试试的。
标签: javascript cookies session-cookies