如何在执行另一个之前等待ajax成功处理程序完成

Loc*_*ock 5 javascript ajax jquery

我的javascript中有以下场景:

  1. Ajax加载记录.
  2. 根据该记录的返回值,另一个ajax调用抓取添加到DOM中的html表单
  3. 当#2完成时,从#1获得的记录然后被加载到#2中创建的表单中.

我使用的when是当#2完成时,我可以从#1加载表单值.问题是,看来当不等待成功处理程序完成时,只有ajax调用自身.在继续使用值加载表单之前,我需要等待#2的成功函数完成(因为这是在DOM中创建表单的内容).

如果我alert1在第2步添加一个,它就可以工作(我猜测是因为它正在等待点击警报,并且在那个时候,成功处理程序已经完成了.

win*_*wes 3

在回调中使用嵌套函数时,请执行以下操作success

$.ajax({
    url: "somewhere"
    success: function(data1){
        //Use data1 to determine ajax request #2
        $.ajax({
            url: "somewhere else"
            success: function(data2){
                //Do stuff with data1 and data2
             }
         });
      }
});
Run Code Online (Sandbox Code Playgroud)