function test(){
$.ajax({
url : window.ctx+"/sys/manager/addUserRole",
data:formData,
type : 'post',
success: function(result){
testCallback();
}
});
test2();
}
function testCallback(){
alert(1)
}
function test2(){
alert(2)
}
上面这段代码本意是想先alert(1),再alert(2),但因为ajax是异步请求,2会先于1弹出。
解决办法1: 将ajax改为同步请求,但会导致页面加载较慢,失去了ajax本身的优势。
function test(){
$.ajax({
url : window.ctx+"/sys/manager/addUserRole",
data:formData,
type : 'post',
async: false,
success: function(result){
testCallback();
}
});
test2();
}
function testCallback(){
alert(1)
}
function test2(){
alert(2)
}
解决办法2: 在ajax回调函数中调用test2:
function test(){
$.ajax({
url : window.ctx+"/sys/manager/addUserRole",
data:formData,
type : 'post',
success: function(result){
testCallback();
}
});
//test2();
}
function testCallback(){
alert(1)
test2()
}
function test2(){
alert(2)
}