XDomain.js在IE中为跨域调用jquery ajax

时间:2013-01-28 16:17:26

标签: jquery xdomainrequest

我正在使用https://gist.github.com/1114981

中的这个Xdomain.js文件

这是我的jquery ajax调用,用于从跨域检索xml,

$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "http://rxnav.nlm.nih.gov/REST/Ndfrt/search?conceptName=TESTOSTERONE",
        dataType: "xml",
        success: xmlParser

      });
});

function xmlParser(xml) { 
    $(xml).find("entry").each(function () {
        $(".entirecont").append($(this).find('inputConceptName').text());
    });
}

当我搜索到这个时,我得到了一个解决方案,即IE中的XDomainRequest对象,但我如何从这个jquery插件https://gist.github.com/1114981进行ajax调用,以使跨域调用工作..

而且,我也从github https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest导入了这个插件,但是当IE似乎抛出一个错误,说ajaxTransport方法不支持而且我目前正在使用jquery 1.3.2

2 个答案:

答案 0 :(得分:0)

尝试在项目中包含此文件,而不是Xdomain.js:

https://github.com/intuit/xhr-xdr-adapter/blob/master/src/xhr-xdr-adapter.js

我在IE 8和IE 9(后者同时使用jQuery 1.x和2.x)上进行了测试,它对我有用。当我包含xhr-xdr-adapter时,我还能够获得基本的CORS与IE 8/9上的AngularJS一起使用,否则它将无法使用AngularJS(例如,从CDN加载模板文件时)。

答案 1 :(得分:0)

在IE浏览器中使用XDomain Request的一种简单方法我们可以使用XDomainRequest的简单示例,在其他情况下我们可以编写正常的ajax请求以确保哪些在所有浏览器中都能正常工作。

通过使用下面的例子,它对我有用 http://msdn.microsoft.com/en-us/library/cc288060(VS.85).aspx#events