IE 11中没有持久存在Cookie

时间:2017-03-23 08:03:44

标签: rest internet-explorer cookies jetty jax-rs

cookie不会仅在IE中保留(在chrome和FireFox中正常工作)。

在登录请求中,我正在创建新的cookie并在Response头中向客户端发出相同的cookie,这在浏览器中也是可见的。

但是在从客户端到服务器的连续请求中,cookie没有附加到请求头。我怀疑cookie根本不存在于IE中,因为在浏览器中如果我运行“document.cookie”我得到空字符串( “”)。

使用javax创建新cookie

cookie = new NewCookie(JSESSIONID,UUID.randomUUID()。toString(),“/ context”,“”,“”, - 1,false);

container:Jetty

IE版:11

请指导我,任何指针都表示赞赏。

提前致谢!!!

1 个答案:

答案 0 :(得分:0)

为了使cookie持久性功能能够按预期在IE11中正常工作,我发现创建cookie时必须对过期字段使用toGMTString()方法(我尝试了toGMTString()和toUTCString())。在添加此代码之前,cookie将在关闭浏览器后不再存在。

示例:

var expiryDate = new Date(); expiryDate.setTime(expiryDate.getTime() + (3650 * 24 * 60 * 60 * 1000)); document.cookie = 'name=value' + '; expires=' + expiryDate.toGMTString() + ';path=/';