Javascript 仅在IE8中的Ajax回调中出错?
人们。我只在IE8中得到一个关于ajax回调的错误,我不知道可能是什么或者为什么会发生 当我尝试在所有浏览器中运行ajax时,将调用回调,但在IE中,将弹出警报错误,并且console.log将显示:Javascript 仅在IE8中的Ajax回调中出错?,javascript,jquery,ajax,internet-explorer-8,Javascript,Jquery,Ajax,Internet Explorer 8,人们。我只在IE8中得到一个关于ajax回调的错误,我不知道可能是什么或者为什么会发生 当我尝试在所有浏览器中运行ajax时,将调用回调,但在IE中,将弹出警报错误,并且console.log将显示: $.ajax({ type: 'GET', url: 'myUrl/etc' dataType: 'jsonp', jsonp: 'callback', jsonpCallback: 'callback', error: function(err
$.ajax({
type: 'GET',
url: 'myUrl/etc'
dataType: 'jsonp',
jsonp: 'callback',
jsonpCallback: 'callback',
error: function(error) {
alert('Error');
console.log(JSON.stringify(error));
},
timeout: 45000
});
function callback(result) {
// Do what i want
}
你知道为什么只在IE8中给出这个“错误”吗?这个问题以前已经解决了 在AJAX调用之前的某个地方将其添加到脚本中(仅限已验证) 在IE8中,不是其他IE):
您使用的是什么版本的jQuery?jQuery2.x不支持IE8。最新的1.x系列仍然支持IE8。
alert()
在某些版本的IE中做了一些奇怪的事情,有时会停止代码的执行。使用console.log()
然后给我回电话。我使用的是1.x@jfriend00FYI,设置jsonpCallback:“回调”
是危险的。你为什么这么做?这指示jQuery使用名为callback
的全局函数作为jsonp回调函数,而不是让它为每个ajax调用生成唯一的函数名。这也意味着您不能同时执行多个JSONP ajax调用,并且必须得到正确的结果。此外,JSONP:“callback”
已经是默认值,因此不需要这样做。
LOG: {
"readyState": "ok",
"status": 200,
"statusText": "success"
}
jQuery.ajaxSetup({
xhr: function() {
//return new window.XMLHttpRequest();
try{
if(window.ActiveXObject)
return new window.ActiveXObject("Microsoft.XMLHTTP");
} catch(e) { }
return new window.XMLHttpRequest();
}
});