当前位置: 首页 > 面试题库 >

在第一个ajax函数调用完全完成之后,jQuery继续另一个ajax函数

秦新立
2023-03-14
问题内容

我有2个差异函数中的2个ajax调用。我想使用.click调用这两个函数。func1将数据插入到数据库中,然后func2将检索数据,所以我的问题是如何等到func1完全完成后才执行func2。

我尝试了.delay(),它可以工作,但是我认为这是一个愚蠢的解决方案。

  $("#updateLocation").click(function(e){
      e.preventdefault;
        func1();
        func2();
      });
      return false;
    });

    function func1(){
      $.ajax({
        url:'',
      });
});

    function func2(){
      $.ajax({
        url:'',
      });
});

问题答案:

三种方式:

成功调用func1时调用func2:

    function func1() {
       $.ajax({ ... }).done(func2);
    }

Deferred时髦完成后,使用API调用func2:

    e.preventDefault();
    $.when(func1).then(func2);

使func1同步(不推荐):

    function func1() {
       $.ajax({url: '', async: false});
    }


 类似资料:
  • 大家好我有这样一个问题,我有2个异步功能。我只想在第一次完全结束后,运行第二次。这就是我试图做的: null null 但它并不总是起作用的,有时第二个函数的代码运行在第一个函数的代码之前,我不确定为什么,我用await强制第二个只在第一个结束之后。 我现在只想让第一个函数结束来激活第二个函数。

  • 到目前为止,我做到了: 我的Ajax1函数返回ajax对象。我的等待函数看起来像这样: 问题是第二个ajax请求函数(Ajax2)并没有等待等待函数!编辑:我也试过: 什么也没变。从jQuery文档: 在将多个延迟对象传递给jQuery.when的情况下,该方法将从新的“master”返回promise“延迟对象,跟踪已传递的所有延迟的聚合状态。当所有延迟被解决时,该方法将立即解决其主延迟,或者当

  • 问题内容: 我的document.ready()中有一些ajax调用 喜欢 : 我如何强制它等待,直到我们从ajax请求获得所有回叫之前不继续? 问题答案: 我根本不喜欢任何答案,最好的方法(自Jquery 1.5+起)是使用Deferred对象,这些是操纵异步调用的对象,可以解决: 这样,myFunc会在执行2个ajax调用之后执行,如果其中一个出错,则执行myFailure。 您可以在jque

  • 问题内容: 嗨,下面的Javascript是在我提交表单时调用的。它首先从文本区域分割一堆网址,然后: 1)在表格中为每个网址添加行,并在最后一列(“状态”列)中显示“未开始”。 2)再次循环遍历每个URL,首先它进行ajax调用以检查状态(status.php),该状态将返回0到100之间的百分比 。3)在同一循环中,它通过ajax启动实际过程(process.php),当进程完成时(请记住连续

  • 我有两个JS函数。一个叫另一个。在调用函数中,我想调用另一个函数,等待该函数完成,然后继续。例如,伪代码: 我想出了这个解决方案,但不知道这是否是一个明智的方法。 这合法吗?有没有更优雅的处理方法?也许用jQuery?

  • 问题内容: 怎么可能 等到动作完成后再继续循环,我不能得到$ this var,因为它具有最后一个值,对不起我的英语,谢谢!!! 问题答案: 选项1:切换到处理程序中数组中的下一个元素。 选项2:同步发出Ajax请求: 全球: 或直接在请求中: });