Chrome浏览器:未从响应标头设置cookie

Chrome browser: not set cookie from response header

本文关键字:设置 cookie 响应 浏览器 Chrome      更新时间:2024-05-15

在服务器端创建cookie,然后添加到响应中:

    Cookie cookie = new Cookie("foo", "bar");
    cookie.setPath("/abc");
    cookie.setDomain(request.getServerName());
    cookie.setSecure(request.isSecure());
    cookie.setMaxAge(24 * 60 * 60 * 90); //  90 days
    response.addCookie(cookie);

响应头:(不是ajax)来自浏览器开发工具

Content-Type:text/html;charset=UTF-8
Date:Wed, 25 Feb 2015 07:13:12 GMT
Server:Apache-Coyote/1.1
Set-Cookie:foo="bar"; Version=1; Domain=localhost; Max-Age=7776000; Expires=Tue, 26-May-2015 07:13:12 GMT; Path=/abc

但从开发工具>资源>cookie,cookie没有显示。

感谢任何帮助。

即使我写了同样的代码,但cookie没有显示出来。

当我打印我的响应时,我会得到值,但我在chrome浏览器上看不到。

服务器端代码:

Cookie lastConnetionDateCookie = createCookie("lastConnetionDate", lastLoginDate);
            response.addCookie(lastConnetionDateCookie);
            Cookie creationDateCookie = createCookie("creationDate", userCreationDate);
            response.addCookie(creationDateCookie);
            Cookie servicesCookie = createCookie("services", StringUtils.join(services, "|"));
            response.addCookie(servicesCookie);
            _log.info(response);

Ajax代码:

function setUserCookies() {
    JQ.ajax({
        type: 'POST',
        url: 'http://.....',
        data: formToJSON,
        contentType:'application/json',
        /* xhrFields: {
            withCredentials: true
        }, */
        crossDomain: true,
        success: function(data, textStatus, jqXHR){
             console.log('Cookie created successfully');
          },
        error: function(jqXHR, textStatus, errorThrown){
             console.log('setUserCookies error : ' + textStatus);
        }
    });
}
function formToJSON() {
    return ${userCookies};
}