PUT对跨域URL的请求仅在IE中失败

时间:2013-07-24 21:00:56

标签: javascript internet-explorer xmlhttprequest cors xdomainrequest

我想在不同的域中执行PUT请求。但该脚本仅在IE中失败。

如果你看看互联网选项>我在IE中找出了问题所在。安全选项卡>自定义级别>其他>跨域访问数据源选项设置为禁用。我能够让我的put请求工作的唯一方法是将该选项设置为Allow。

所以我的问题是:有没有办法在没有强制最终用户设置选项的情况下实现这一点?

XDomainRequest()可用于IE中的XDomain请求,但此方法不支持PUT。

2 个答案:

答案 0 :(得分:6)

IE9及更早版本在跨域请求中不支持PUT方法。只有GET和POST。

答案 1 :(得分:0)

您可以使用像Xdomain或EasyXDM这样的库来使用Post Message hack获取CORS替代方案。

我更喜欢使用Xdomain,因为它劫持了原生XMLHTTPRequest并提供了“插入式”解决方案。 EasyXDM强迫您使用他们的API,这意味着更多的条件编码开销,但是,它支持IE6 / IE7。

主要带走?不要停止支持CORS!只需让IE表现自己并选择加入未来。