11

我傻到相信所有现代浏览器都支持CORS(跨域资源共享)

当我的玩具 JavaScript 工具不能在 IE9 或 Opera 上运行时,我发现前者只支持CORSthrough XDomainRequest,而 jQuery 似乎不支持。Opera 根本不支持CORS

现在 jQuery 有了一个抽象接口,可以执行正常的同域 AJAX 查询、CORS查询,甚至JSONP以相同的方式进行查询。

这个接口是否有一个扩展,可以进一步使它在不可用的情况下也能正常工作XDomainRequest并回退到不可用的JSONP时候?CORS

4

2 回答 2

6

这是一个在 JQuery 中支持 XDomainRequest 的插件:

https://github.com/jaubourg/ajaxHooks/blob/master/src/xdr.js

还有一个 jQuery 特性请求来添加这个特性:

http://bugs.jquery.com/ticket/8283

请注意,错误报告说 IE9 中的插件可能存在问题,因此 YMMV。考虑到插件的存在是为了完成这项工作,它最终被关闭了。

于 2012-01-02T02:29:19.487 回答
3

看看xReader

<script src="http://kincrew.github.com/xReader/xReader.full.js"></script> 
<script type="text/javascript"> 
xReader("http://www.yahoo.com/", function(data) { 
    alert(data.content); 
})
</script>

这很简单!

于 2012-11-14T21:33:38.953 回答