我正在尝试将ajax调用设置async属性设置为false但是它在chrome和ie上工作时会出错。
我知道Firefox高度推荐async ajax调用由于用户体验问题,但我需要在继续做其他事情之前得到响应,并且确定(并且必须)等待收到响应..
这是工作和不工作的代码,任何帮助将不胜感激。
data = $.ajax({
url: Common.serverPath + 'recovery/list',
crossDomain: true,
dataType: 'json',
async: true,
type: 'GET',
contentType: 'application/json',
xhrFields: {
withCredentials: true
}
});
setTimeout(function(){ console.log(data.statusText);
},3000);
控制台:确定
data = $.ajax({
url: Common.serverPath + 'recovery/list',
crossDomain: true,
dataType: 'json',
async: false,
type: 'GET',
contentType: 'application/json',
xhrFields: {
withCredentials: true
}
});
setTimeout(function(){ console.log(data.statusText); },
3000);
console:InvalidAccessError:基础对象
不支持参数或操作chrome和ie两者都可以正常工作
答案 0 :(得分:2)
我发现"跨域请求和dataType:" jsonp"请求不支持同步操作。"即使它在ie和chrome中也是如此:)