Debugging 调试CORS错误的方法

Debugging 调试CORS错误的方法,debugging,google-chrome,firefox,cors,Debugging,Google Chrome,Firefox,Cors,在web开发过程中,我每隔一段时间就要调试与跨源资源共享相关的问题 根据我的测试,当Chrome和Firefox由于违反CORS而取消请求时,它们几乎不提供任何信息。通常,调试包括根据规范检查所有标题、读取CORS标准等。这是一个非常麻烦的过程 难道没有办法告诉任何浏览器它应该更详细地说明它取消特定请求的原因吗 例如,我宁愿有更详细的调试消息,如由于接收的访问控制允许标头字段中缺少X-Request-With字段而取消请求,或由于提供的源代码:和接收的访问控制允许源代码:字段不匹配而取消请求您使

在web开发过程中,我每隔一段时间就要调试与跨源资源共享相关的问题

根据我的测试,当Chrome和Firefox由于违反CORS而取消请求时,它们几乎不提供任何信息。通常,调试包括根据规范检查所有标题、读取CORS标准等。这是一个非常麻烦的过程

难道没有办法告诉任何浏览器它应该更详细地说明它取消特定请求的原因吗


例如,我宁愿有更详细的调试消息,如
由于接收的访问控制允许标头字段中缺少X-Request-With字段而取消请求
,或
由于提供的源代码:和接收的访问控制允许源代码:字段不匹配而取消请求

您使用的是哪个版本的Chrome?最新版本在报告CORS问题方面变得更好了。例如,我正在使用Chrome版本“32.0.1700.14 beta”,当我访问时,我的控制台中出现以下错误:

Request header field X-Foo is not allowed by Access-Control-Allow-Headers.

此信息只能从控制台获得,不能通过编程方式访问。希望更多的浏览器也会效仿。请注意,如果您的请求因其他非CORS原因而失败,您可能仍然会看到无用的错误消息。

虽然浏览器在这里仍然没有太大帮助,但我最近构建了一个网页,可以准确地告诉您发生了什么,为什么,以及如何修复它。它实际上是整个CORS系统的交互式自我解释流程图


如果您在调试CORS设置时遇到困难,请尝试一下:

大约两年后,Firefox仍然给出一个通用的“阻止跨源请求:同一源策略不允许读取{URL}处的远程资源。(原因:CORS请求失败)”@Dyna,它不是在
处编写的吗?@Pacerier是的,chrome在控制台上很好地显示了错误。当时我问这些问题时,只有非常普通的错误信息,根本没有帮助。有趣的是,Firefox没有在该页面上生成错误。该工具真的很有帮助。感谢伟大的开发者。