我在IE中从响应中获取Cookie值时遇到问题。在Chrome上,一切正常,我有一个名为fileDownloadToken
的令牌,并在Java控制器中这样设置它:
String tokenValue = value;
response.addCookie(new Cookie("fileDownloadToken",tokenValue);
使用我的JS,我只需一个:
var cookieList = document.cookie;
然后我将其拆分以搜索所需的Cookie。
问题来自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);
};
答案 0 :(得分:1)
可能会涉及到的人,我只需添加即可解决问题
cookie.addPath("/");
欢呼声