使用jquery-1.9.1,我启用了CORS支持。跨域ajax jsonp请求在IE8中不工作
$.support.cors = true;
于是我作出如下处理Ajax请求,我也启用JSONP从服务器端回调支持。
$.ajax({
type: 'GET',
url: url,
async: false,
contentType: "application/json",
jsonpCallback: 'jsonCallback',
dataType: 'json',
success: function(data) {
var featureJSON = data.feature;
},
error: function(e) {
},
complete: function() {
}
});
我已经在JBoss中部署了这一点,并从另一台计算机(不同的域名/ IP地址)访问该页面。这个Ajax调用在另一台计算机的FF和Chrome中运行,并在同一台计算机上运行。
它也适用于IE,但在同一台计算机上。
从比我部署在一个其他的一些其它计算机访问时,在IE浏览器将无法正常工作。
周围的Googling后,我明白了IE *不允许它是由跨域Ajax调用由jquery.And jquery不支持IE的XDomain对象。
总之,我该如何让jquery使用IE的XDomain对象? ,我已经差不多完成了应用程序(我的错,我没有检查XDomain的东西)。我无法再重新编译代码。还有其他解决方案吗?
JSONP不与CORS使用,这是它的替代 – 2013-03-21 13:06:38
@SaurabhBayani我已经试过XDomainRequest,这里http://blog.mycila.com/2011/07/jquery-cors-plugin.html提到,但没有运气,我应该添加CORS支持响应标题从服务器端访问控制 - 允许来源“,”*“? – cherit 2013-03-21 13:18:27
看看,这可能会有所帮助http://stackoverflow.com/questions/3362474/jquery-ajax-failed-in-ie-on-cross-domain-calls – 2013-03-21 13:18:34