我在同一个脚本上有三个ajax调用。我需要执行此同步,因为它会在.......
之后处理一些内容 if(isHtmlFieldOnParentFull){
//lleno el textarea con el valor del html input del campo html oculto de la ventana padre
$editor.text(htmlInputParentValue);
}else{
//lleno el input html de la ventana padre con el html de la plantilla original para que se reemplazen las tags en el siguiente paso
var request = $.ajax({
type: 'POST',
url: '/editor/GetHtmlContentPlantilla',
async: false,
data: { id_acto_doc_plantilla: getUrlVars()["id_acto_doc_plantilla"]
},
success: function(data) {
$htmlInputParent.val(data);
},
error: function(data) {
alert("Error");
}
})
}
但之后我还有2个ajax调用。我真的应该将它们定义为
异步:假
也是?因为我认为第一个会阻止其他两个的执行,直到它的回调,但是我试着让其他人没有那个参数而且它不起作用,如果我将每个调用都设为异步:false然后它工作正常。
答案 0 :(得分:1)
从当前AJAX请求的成功回调中进行后续AJAX调用,依此类推。 例如:
//first ajax
$.ajax({
url: 'example.com',
success: function(data){
second_call();
}
});
function second_call(){
$.ajax({
url: 'example.com',
success: function(data){
third_call();
}
});
}
function third_call(){
$.ajax({
url: 'example.com',
success: function(data){
//your code goes here
}
});
}