我有兴趣看看最小的跨浏览器 Javascript 代码(jQuery 也很好)可以用来验证我希望发送跨域 AJAX 请求的网站是否支持 CORS.

我知道 jQuery 有一个方法来检查是否 浏览器 支持它。但我真的很想检查一下是否 远程站点 也支持。

我以为我只需要检查 HTTP 标头,但当然,当尝试向不专门支持它的站点发出跨域请求时,XHR 会抛出异常。

但是有没有办法检查是否抛出异常 XMLHttpRequest 是因为网站不支持 CORS 而不是出现其他问题?(它不必支持 XDomainRequest。)

无论如何,我不确定获取数据的最佳最小/最快跨浏览器方法 HTTP HEAD 使用 AJAX,我认为这是一种轻量级的方式,而不是获取页面等。

使用案例:一旦我知道浏览器和 AJAX 提供商是否支持 CORS 或不发送,我可以选择是否发送更有特色的 JSON/CORS 请求或退回到 JSONP 必要时提出要求。

有帮助吗?

解决方案

规格, , 这是不可能的。

如果出现网络错误:如果发生DNS错误,TLS协商失败或其他类型的网络错误,请应用网络错误步骤。不请求任何类型的最终用户交互...

否则:执行资源共享检查。如果返回失败,请应用网络错误步骤...

没有特殊的方法来识别不允许 CORS 的情况,因为 网络错误步骤 适用于任何情况。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top