Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript xmlhttprequest和set cookie&;曲奇_Javascript_Cookies_Xmlhttprequest_Setcookie_Cors - Fatal编程技术网

Javascript xmlhttprequest和set cookie&;曲奇

Javascript xmlhttprequest和set cookie&;曲奇,javascript,cookies,xmlhttprequest,setcookie,cors,Javascript,Cookies,Xmlhttprequest,Setcookie,Cors,我想我误解了xmlhttprequest对cookies的管理。我有一个服务器响应javascript中的XMLHttpRequest,我的服务器返回具有正确值的Allow Control Access Origin、Access Control Allow Header、Access Control Expose Header和Access Control Allow Credentials头 我正在使用javascript在服务器中进行摘要身份验证,这没有问题,我从服务器接收到okWWW A

我想我误解了xmlhttprequest对cookies的管理。我有一个服务器响应javascript中的
XMLHttpRequest
,我的服务器返回具有正确值的
Allow Control Access Origin
Access Control Allow Header
Access Control Expose Header
Access Control Allow Credentials

我正在使用javascript在服务器中进行摘要身份验证,这没有问题,我从服务器接收到ok
WWW Authenticate
头,我处理并向服务器发送带有所有摘要响应的授权头,一切正常。 问题是,当digest挑战成功时,我的服务器返回一个Set Cookie头,我必须获取它并将其添加到所有xhr请求的其余部分。 浏览器(使用Chrome和Chrome)不允许我访问标题,请执行以下操作:

xhr.getResponseHeader("Set-Cookie");
好的,在中,它说:“返回响应中的所有头,但字段名为Set-Cookie或Set-Cookie2的头除外” 好的,所以我不能接受,但是有什么办法?将ChromeAPI用于Cookie(目前我没有读到任何关于它的文章),但我希望尽可能以标准方式进行。 与:

xhr.withCredentials = true;
表示浏览器自动从CORS规范中获取设置的cookie并发送cookie头???

每当应用“发出请求”步骤时,从设置了手动重定向标志的源获取请求URL,如果设置了“忽略凭据”标志,则设置“阻止cookies”标志。如果未设置“忽略凭据”标志,请使用方法请求方法、实体正文请求实体正文,包括作者请求标头,并包括用户凭据。如果源来源是全局唯一标识符,则排除Referer标头


正如您所说的-如果您使用带有凭据的

,浏览器会添加cookie。在这种情况下,您能否确认他们正在向站点B(Ajax目的地)发送由站点A(主页)生成和设置的cookie?否。只有来自域B的cookie才会发送到该站点B。另一方面,
Referer
将被发送,其中包含站点A的原始URI——如果您有一些HTTP参数——它们将对站点B可见。