当需要执行多个ajax并需要考虑执行顺序时,可以使用ajax嵌套、同步、回调三个方法。
1、ajax嵌套
$.ajax({
url : "url",
data : data,
type : "POST",
dataType:"json",
success : function(result,status,xhr) {
$.ajax({
url : "url",
data : data,
type : "POST",
dataType:"json",
success : function(result,status,xhr) {
},
});
},
});
2、同步
ajax请求设置为同步请求,这时执行ajax执行结束前不会执行之后的代码,保证ajax的执行顺序
$.ajax({
url : "url",
data : data,
type : "POST",
dataType:"json",
async:false,
success : function(result,status,xhr) {
},
});
3、回调
function fun1(fun){
$.ajax({
url : "url",
data : data,
type : "POST",
success : function(result,status,xhr) {
if(typeof fun == "function"){
fun();
}
},
});
}
function fun2(fun){
$.ajax({
url : "url",
data : data,
type : "POST",
success : function(result,status,xhr) {
if(typeof fun == "function"){
fun();
}
},
});
}
function fun(){
....
fun2(function(){
fun1(function(){
......
});
});
.....
}