下面的JavaScript代码,你做任何跨域AJAX
调用之前简单的附加。
jQuery.support.cors = true;
$.ajaxTransport("+*", function(options, originalOptions, jqXHR) {
if(jQuery.browser.msie && window.XDomainRequest) {
var xdr;
return {
send: function(headers, completeCallback) {
// Use Microsoft XDR
xdr = new XDomainRequest();
xdr.open("get", options.url);
xdr.onload = function() {
if(this.contentType.match(/\/xml/)){
var dom = new ActiveXObject("Microsoft.XMLDOM");
dom.async = false;
dom.loadXML(this.responseText);
completeCallback(200, "success", [dom]);
}else{
completeCallback(200, "success", [this.responseText]);
}
};
xdr.ontimeout = function(){
completeCallback(408, "error", ["The request timed out."]);
};
xdr.onerror = function(){
completeCallback(404, "error", ["The requested resource could not be found."]);
};
xdr.send();
},
abort: function() {
if(xdr)xdr.abort();
}
};
}
});
这是否也适用于IE? (这适用于Chrome和Firefox,但在IE中失败)。谢谢。 – user1055761
你在IE中遇到什么错误? –
当通过IE调试器进行调试时,它给了我'无运输'错误。你有这个工作在IE浏览器?谢谢 ! – user1055761