日期:2014-05-16  浏览次数:20735 次

两个ajax请求,怎么让一个人执行完成后,才可以执行另外一个。
也是面试题,我的回答是这样的,我说根据第一个异步访问的请求结果来判断,来执行第二个Ajax,但是面试官看来是很不满意。
所以也请教下大家,这个问题,怎么去处理。Thank You!

------解决方案--------------------

            jQuery.ajax({
            type: "post",
            url:  "xx.aspx",
            data:  xx,
            contentType: "application/json; charset=utf-8",
            success: function (data) {
              if(data==true)
                {
                 jQuery.ajax()
                 }
               else{}
            },
            error: function (err) {
                alert(err);
            }
        });


不就这样? 还有其他方法吗?顶一个哈,菜鸟路过
------解决方案--------------------
引用:
也是面试题,我的回答是这样的,我说根据第一个异步访问的请求结果来判断,来执行第二个Ajax,但是面试官看来是很不满意。

当然,因为你这样说完全错了。
你说的,同步方式可以这样做。但异步方式,在你第一个请求没返回的时候,就可以执行第二个了,而此时你第一个请求还没有返回结果呢,怎么“根据第一个异步访问的请求结果来判断”?
解决这个问题的方法有很多,但关键是你需要了解到底异步方式是怎么回事。了解了自然就知道都可以怎么做。
------解决方案--------------------
function(){
  //ajax 1
one();
}
fonction one(){
  //ajax 2
}