Tag: xdomainrequest

在IE8 / 9中使用jQuery和XDomainRequest的CORS

更新:我强烈build议不要在XDomainRequest中投入任何时间,因为这是一个非常糟糕的实现,有很多限制。 它基本上只适用于非SSL服务器的GET请求,所以你不妨使用jsonp或其他。 我正在使用CORS来调用一个跨域API,但是Internet Explorer正在给出问题。 CORS应该可以在IE8和IE9中通过XDomainRequest对象,但是我不能让事情工作.. JQuery 拒绝为XDomainRequest提供本机支持,但是build议使用几个jQuery插件来增加这种支持。 这个主题提出了两个这样的插件: jQuery.XDomainRequest.js和xdr.js ,已经报道过。 Afaik,插件应该自动覆盖jQuery.ajax行为。 我在这里find了另一个插件。 我把一个小小的演示页面与各自的插件jQuery.XDomainRequest和xdr和jquery.ie.cors执行ajax请求到启用CORS的服务器。 这些页面在Chrome和Firefox中工作,但IE8 / 9立即抛出权限被拒绝的错误(甚至在发出请求之前)。 这MSDN文章build议添加另一个处理程序xhr.onprogress = function() {}; 但我试过这个,它也不工作。 任何线索我做错了什么? 我也使用MS虚拟服务器testing了IE8,但它有完全相同的问题。 编辑:好的,所以我想通过HTTPS使用POST的问题的一部分。 显然XDomainRequest不允许通过HTTPS的CORS。 我可以切换到HTTP,但我真的需要POST。 编辑2:看到这个问题在Github的这个故事的结尾。 事实certificate,使用HTTP POST时,xDomainRequest只能以text/plain对请求主体(参数)进行编码。 这几乎使得它毫无价值,因为每个人都使用application/x-www-form-urlencoded或multipart/form-data 。