我觉得我误解了使用XMLHttpRequest处理cookie的方式。我有一个服务器响应javascript中的XMLHttpRequest
,我的服务器返回正确的值与Allow-Control-Access-Origin
、Access-Control-Allow-Headers
、Access-Control-Expose-Headers
和Access-Control-Allow-Credentials
头部。
在JavaScript中,我正在使用Digest Authenticate连接到服务器,这方面没有问题,我从服务器接收到了WWW-Authenticate
头部,我处理并发送了带有所有digest-response的Authorization头部,一切都很顺利。
但是问题是,当digest-challenge成功后,我的服务器会返回一个Set-Cookie头部,我必须将其获取并添加到所有xhr请求的其余部分。然而,浏览器(使用Chromium和Chrome)不允许我通过以下方式访问头部:
xhr.getResponseHeader("Set-Cookie");
好的,在XMLHTTPREQUEST Level 2中写道:"返回响应中除了那些字段名为Set-Cookie或Set-Cookie2的所有头部" 好的,所以我不能使用它,但有什么其他方法吗?可以使用Chrome Api来处理Cookie(目前我还没有阅读相关内容),但我希望尽可能地使用标准方法。
xhr.withCredentials = true;
这意味着浏览器会自动获取设置的cookie并在cookie头中发送吗?