我对cookies感到困惑。如果我写这样的cookie
document.cookie = "userName=" + me.name + ";";
然后通过Ajax调用和页面加载(我读取并使用该值)将其传递给服务器。但是,cookie也会在访问之间持续存在,即如果浏览器关闭并重新打开,它仍然存在。我不想要那个。但是,如果我将它设置为像这样的会话cookie
document.cookie = "userName=" + me.name + "; expires=;";
然后在浏览器关闭时正确删除它,但它不会通过Ajax调用和页面加载发送到服务器。
(N.B。浏览器会话之间的持久性可能是IE10测试版错误,其他帖子表明我的第一行应该生成一个在浏览器关闭时过期的cookie。)
这两条线在创建的cookie类型方面的区别是什么,如果我想在浏览器关闭时死亡但是传递给服务器的cookie,那么正确的JavaScript是什么?设置它?
答案 0 :(得分:2)
如果您没有为cookie指定过期时间,它通常会在会话结束/浏览器关闭时到期。
我不确定在下面的代码结尾会出现什么样的副作用 +“(打开双引号)。没有语法错误?
document.cookie = "userName=" + me.name + ";
你是说?
document.cookie = "userName=" + me.name;
此外,您是否有可能已经设置了持久性cookie,在这种情况下,只有第二个代码会将其更改为会话cookie?