我们知道ajax在浏览器中是被异步处理的,也就是说,他是按照先响应先处理的,并不是先请求先处理的。
但是有些业务我们需要按顺序来处理,是有先后的,我们有以下两种方式。
jquery > 1.5.0
1、当我们要确保执行顺序时,设置 async=false,就是同步请求了
ajax1 = $.ajax({
async: false,
url: url1,
dataType: 'json',
type: 'post',
success: function(data){
},
error: function(data){
}
}),
ajax2 = $.ajax({
async: false,
url: url2,
dataType: 'json',
type: 'post',
success: function(data){
},
error: function(data){
}
}),
$.when(
ajax1,
ajax2
)
.done(function(){
alert('done');
})
.fail(function(){
alert('fail');
});