javascript - JEE Servlet/JS : document. cookie 在 Chrome 和 IE 之间不返回相同的东西

标签 javascript java servlets jakarta-ee cookies

我在从 IE 中的响应中获取 cookie 值时遇到问题。在 Chrome 上,一切正常,我有一个名为 fileDownloadToken 的 token ,我将它设置在我的 Java Controller 中,如下所示:

String tokenValue = value;
response.addCookie(new Cookie("fileDownloadToken",tokenValue);

在我的 JS 中,我只需要一个:

var cookieList = document.cookie;

然后我拆分它来搜索我想要的 cookie。

问题来自 IE,我可以看到它在我的响应 header 中:

ReponseHeader in IE

但是当我执行 console.log(document.cookie) 时,我看不到它。所以很明显这不是 HttpOnly 的问题,否则我将无法在 Chrome 中看到它。我还尝试使用以下方法在服务器端设置 cookie:

final StringBuilder cookie =
    new StringBuilder("fileDownloadToken=" + new StringBuilder(tokenValue) + "; ");
response.addHeader("Set-Cookie", cookie.toString());

但它不适用于 IE(不过也适用于 Chrome)。

我真的不知道现在该尝试什么。提前致谢。


编辑:我的 JS 中有一个定期检查 cookie 的函数:

var fileDownloadCheckTimer;

function checkDownloadToken() {
  fileDownloadCheckTimer = window.setInterval(function() {
    var cookieValue = getCookie("fileDownloadToken")
    if (cookieValue == token)
      clearTimer();
  }, 2000);
};

最佳答案

可能关心的人,我添加就解决了问题

cookie.addPath("/");

干杯

关于javascript - JEE Servlet/JS : document. cookie 在 Chrome 和 IE 之间不返回相同的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51385979/

相关文章:

javascript cookies,设置多个cookie

javascript - 再次连接分割后的字符串,跳过分割形成的数组的一个索引

javascript - 显示带有单选按钮的 onclick 对话框

java - 重构 if-else 控制流程

java - 如何有效地将入站 netty.io ByteBuf 消息分发到 ChannelGroup?

使用servlet请求转发后URL不显示正确的地址

javascript - Fancybox 不工作(初学者)

java - 如何在java类中使用Kotlin类?

java - 将 JAX-WS CXF Web 服务请求方法调用限制为每个客户端 IP 一个请求

java - 无法将 servlet 连接到数据库