我愚蠢地相信所有现代浏览器都支持 CORS
(Cross-Origin Resource Sharing) .
当我的玩具 JavaScript 工具无法在 IE9 或 Opera 上运行时,我发现前者仅通过 XDomainRequest
支持 CORS
,而 jQuery 似乎不支持。 Opera 还不支持 CORS
。
现在 jQuery 有一个抽象接口(interface),可以以相同的方式执行正常的相同域 AJAX 查询、CORS
查询,甚至 JSONP
查询。
此接口(interface)是否有扩展,可以进一步使其在使用 XDomainRequest
时也能正常工作,并在 CORS
不可用时回退到 JSONP
可用吗?
最佳答案
这是 JQuery 中 XDomainRequest 支持的插件:
https://github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js
还有一个 jQuery 功能请求来添加此功能:
http://bugs.jquery.com/ticket/8283
请注意,错误报告指出 IE9 中的插件可能存在问题,所以 YMMV。它最终被关闭,原因是该插件的存在是为了完成这项工作。
关于jquery - 是否有一个 jQuery 解决方案,在可用时使用 CORS,并在 MSIE 上使用 XDomainRequest,在浏览器上使用 niether 时使用 JSONP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8688703/