jQuery的继续另一个AJAX功能后的第一个AJAX调用函数是全面完成 [英] Jquery continue another ajax function after the first ajax function call is fully complete

查看:188
本文介绍了jQuery的继续另一个AJAX功能后的第一个AJAX调用函数是全面完成的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在2差分功能2 Ajax调用。我想用。点击调用这两种功能 。该FUNC1在数据库中插入数据,那么FUNC2是检索数据,所以我的问题是如何等到FUNC1全面完成那么它只能执行FUNC2。

我试过.delay(),它的工作原理,但我认为这是一个愚蠢的解决方案。

  $(#updateLocation)。点击(函数(五){
      即preventdefault;
        func1的();
        FUNC2();
      });
      返回false;
    });

    函数func1的(){
      $阿贾克斯({
        网址:'',
      });
});

    功能FUNC2(){
      $阿贾克斯({
        网址:'',
      });
});
 

解决方案

三种方式:

的FUNC1成功呼叫FUNC2

 函数FUNC1(){
   $就({...})进行(FUNC2)。
}
 

使用延迟 API调用FUNC2时FUNC1完成

 电子preventDefault()。
$。当(FUNC1)。然后(FUNC2);
 

请FUNC1同步(不推荐)

 函数FUNC1(){
   $阿贾克斯(网址:{url:'',异步:假});
}
 

I have 2 ajax call in 2 difference functions. I want to use .click to call these 2 functions . The func1 is inserting data in to database, then func2 is to retrieve the data so my question is how to wait until the func1 fully complete then it only execute the func2.

I tried .delay(), it works but i think this is a stupid solution.

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

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

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

解决方案

Three ways:

Call func2 on success of func1

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

Use Deferred API to call func2 when func1 completes

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

Make func1 synchronous (not recommended)

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

这篇关于jQuery的继续另一个AJAX功能后的第一个AJAX调用函数是全面完成的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆