检测服务器/站点对跨域 XMLHttpRequest 的支持吗?

2024-04-13

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

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

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

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

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

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


规格 http://www.w3.org/TR/cors/#simple-cross-origin-request, 这是不可能的。

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

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

没有特殊的方法来识别不允许 CORS 的情况,因为网络错误步骤 http://www.w3.org/TR/cors/#network-error-steps适用于任何情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

检测服务器/站点对跨域 XMLHttpRequest 的支持吗? 的相关文章

随机推荐