我有一个简单的jQuery AJAX POST代码:
$.ajax({
type: "POST",
url: AppConstants.URLs.PROXY,
data: message,
xhrFields: {
withCredentials: true
},
success: function(data, status, xhr) {
console.log("Cookie: " + xhr.getResponseHeader("Set-Cookie"));
}
});
我希望通过cookies-js获取并保存cookie,但根据http://www.w3.org/TR/XMLHttpRequest/#the-getallresponseheaders%28%29-method:
- 返回除了不区分大小写匹配Set-Cookie或Set-Cookie2的头信息以外的所有响应头信息作为单个字符串,每个标头行由U+000D CR U+000A LF对分隔,不包括状态行,每个标头名称和标头值由U+003A COLON U+0020 SPACE对分隔。
在Chrome的网络工具中,“Set-Cookie”在响应头中可见。 我还使用curl
验证了“Set-Cookie”头的存在。
我需要怎么做才能在我的前端应用程序中保存cookie? 另外,我的应用程序仅在https上运行。
如需更多详细信息,请告知。
document.cookie
返回未定义或空字符串。 - tonHttpOnly
为真时才成立:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Set-Cookie - M3DHttpOnly
确定是否可以通过 thedocument.cookie
interface 访问 JS 运行的 HTML 文档的 cookie。它对于响应 Ajax 请求设置的 cookie 没有影响,这些 cookie 总是不可用的,并且对于浏览器存储 cookie 的方式也没有影响(这就是问题所在)。 - Quentin