[英]Set-Cookie header does not set cookie in Internet Explorer
我正在尝试使用Set-Cookie标头设置cookie服务器端。
使用jersey,cookie设置为服务器端,如下所示:
NewCookie cookie = new NewCookie("token", tokenValue, "/", "", 1, "", 3600, new Date(System.currentTimeMillis() + 3600000), false, false);
return Response.ok()
.cookie(cookie)
.build();
我在Chrome中的回复标题如下所示:
当我尝试向服务器发送另一个请求时,要检查cookie是否已发回,一切都按预期工作。 请求标头如下所示:
Firefox和Opera浏览器也显示相同的行为。 虽然,当我尝试使用Internet Explorer时,还有另一个故事......
基本上没有请求标头,并且没有设置cookie ...当我设置cookie时,我做错了什么? 我尝试过其他类似问题的各种解决方案,但似乎没有任何效果......
编辑:
通过禁用保护模式并允许所有cookie更改IE Internet选项,但仍然没有...
编辑2:
在不同的计算机上试用它,我的结果好坏参半。 在某些计算机中它可以正常工作,而在某些计算机中却没有。 我缺少Internet Explorer上必须有的一些设置。 虽然,无论我尝试什么,我都无法让它在localhost
上工作......
解
显然,正如dabaicai评论的那样,不应该有任何空的属性值文件。 当我创建我的cookie时, domain
和comment
atrribute具有空值:
NewCookie cookie = new NewCookie("token", tokenValue, "/", "", 1, "", 3600, new Date(System.currentTimeMillis() + 3600000), false, false);
我改成了:
NewCookie cookie = new NewCookie("token", tokenValue, "/", httpServletRequest.getServerName(), 1, "no-comment", 3600, new Date(System.currentTimeMillis() + 3600000), false, false);
现在一切都在Internet Explorer中按预期工作了!
我认为由于域localhost
,您可以尝试访问127.0.0.1的URL,然后查看结果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.