服务端写入的cookie客户端浏览器获取不到的原因
今天发现了一个问题,前端调后端接口进行鉴权操作,后端接口向前端写入sessionId,前端尝试js获取cookie,获取不到。
后端程序代码:
public void setCookie(HttpServletRequest request, HttpServletResponse response, String key,String value) {
Cookie cookie = new Cookie(key, value);// 创建一个cookie,cookie的名字是key
cookie.setDomain(request.getServerName());
cookie.setPath(request.getContextPath());
// 设置Cookie的有效期
cookie.setMaxAge(Constants.cookieMaxAge);
// cookie.setHttpOnly(true);
// 将cookie对象添加到response对象中,这样服务器在输出response对象中的内容时就会把cookie也输出到客户端浏览器
response.addCookie(cookie);
}
发现在服务器端将cookie的httpOnly属性设置为true,会导致服务器写入了cookie,客户端取不到cookie。