jquery - 是否有一个 jQuery 解决方案,在可用时使用 CORS,并在 MSIE 上使用 XDomainRequest,在浏览器上使用 niether 时使用 JSONP?

标签 jquery internet-explorer cross-domain jsonp cors

我愚蠢地相信所有现代浏览器都支持 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/

相关文章:

JavaScript - JSON数据结构的构建 - 如何使用变量值更改键名

internet-explorer - 为什么人们不停止开发网站来迎合 IE6?

javascript - Internet Explorer 与我网站上的版本的兼容性

javascript - 无需代理的 JQuery 跨域 XML 请求

cross-domain - 跨域限制和子域

node.js - 请求的资源上不存在 'Access-Control-Allow-Origin' header - socket.io

jQuery ul li 悬停效果

javascript - Bootstrap multiselect 在实例化时选择所有选项

javascript - 第二次单击时删除附加数据

asp.net - 在 IE 6 中调整 Div 大小