调试CORS错误的方法

时间:2013-11-17 14:47:36

标签: debugging google-chrome firefox cors

每隔一段时间我就必须在Web开发过程中调试跨源资源共享相关的问题。

在我的测试中,Chrome和Firefox在因CORS违规而取消请求时几乎不提供任何信息。通常调试involes根据规范检查所有标头,读取CORS标准等。这是一个非常麻烦的过程。

有没有办法告诉任何浏览器它应该更加详细为什么它取消了特定请求?

例如,我宁愿拥有更详细的调试消息,例如Request canceled due to missing X-Requested-With field in received Access-Control-Allow-Headers fieldRequest canceled because supplied Origin: and received Access-Control-Allow-Origin: fields mismatch

2 个答案:

答案 0 :(得分:9)

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

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

此信息仅在控制台中提供,无法以编程方式访问。希望更多的浏览器也会效仿。请注意,如果您的请求因某些其他非CORS原因而失败,您可能仍会看到无用的错误消息。

答案 1 :(得分:1)

虽然浏览器在这里仍然不是很有用,但我最近建立了一个网页,可以告诉您确切的情况,原因以及解决方法。它实际上是整个CORS系统的交互式自我解释流程图。

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