Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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
Http 使用Chrome/WebKit调试访问控制允许源站_Http_Google Chrome_Webkit_Cors - Fatal编程技术网

Http 使用Chrome/WebKit调试访问控制允许源站

Http 使用Chrome/WebKit调试访问控制允许源站,http,google-chrome,webkit,cors,Http,Google Chrome,Webkit,Cors,我正在尝试与Access Control Allow Origin和相关头一起使用。我让它在Firefox上运行,但Chrome给了我权限错误,如下所示: XMLHttpRequest cannot load <remote>. Origin <local> is not allowed by Access-Control-Allow-Origin. XMLHttpRequest无法加载。访问控制不允许原点允许原点。 网络检查器显示请求,但不显示响应(不包括飞行前请求

我正在尝试与Access Control Allow Origin和相关头一起使用。我让它在Firefox上运行,但Chrome给了我权限错误,如下所示:

XMLHttpRequest cannot load <remote>. Origin <local> is not allowed by Access-Control-Allow-Origin.
XMLHttpRequest无法加载。访问控制不允许原点允许原点。

网络检查器显示请求,但不显示响应(不包括飞行前请求和响应选项)。我使用curl检查了请求输出,并复制了所有的头文件,我看到的内容符合规范的含义(同样,Firefox也接受)。我不知道如何进一步调试它——有没有比Chrome通常提供的更低级别的网络活动的技巧?关于Chrome如何以不同于Firefox的方式解释CORS请求的信息?

我怀疑您看到的是一个预飞行,然后是由于一个bug导致的Chrome请求失败。这就解释了为什么在Firefox中工作,而在Chrome中却不工作

您是否在请求中发送任何自定义标题?WebKit中存在一个bug,其中带有自定义头的GET请求失败(这里的bug:)。我还注意到,Chrome有时会在Access Control Allow Headers列表中使用Content Type标题,即使Content Type是一个简单的标题

另外,您提到网络检查器不包括飞行前的选项?您正在使用哪个网络检查器?我建议使用Wireshark,因为它提供了Chrome的inspector没有提供的实际网络流量的详细信息(例如,Wireshark将记录飞行前的请求)

其他一些调试提示:

在Safari中尝试该请求。这将有助于将其缩小到Chrome bug或WebKit bug

当我看到您看到的错误时(Wireshark显示了一个请求,但没有响应),这是因为我的服务器没有包含Access Control Allow Origin标头,因为Chrome没有发送Origin标头,所以没有包含该标头(见上面的错误)。在网络跟踪中,您是否在请求中看到原始标头?您是否可以控制服务器,如果可以,它是否会接收到原始标头


如果没有更多细节,很难调试实际问题。如果您仍然有问题,可以在此处发布请求/响应标题吗?

谢谢您的建议。最终的问题是SSL证书——它是自签名的,我没有在该配置文件中接受它。直接访问资源(不是通过XHR)后,我得到了cert对话框,然后XHR请求开始工作。
内容类型
的值为
application/x-www-form-urlencoded
多部分/表单数据
文本/普通
时,它只是一个简单的标题。看见