微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript-以串行方式发布多个Ajax帖子

我想实现多个ajax发布请求.假设有3个帖子.然后,第二个帖子取决于第一个帖子的结果,而第三个帖子则取决于从第二个帖子收到的结果.

我如何放置第二个ajax发布方法.应该在成功处理程序中完成吗
   jQuery.ajax({
       类型:“发布”,
       dataType:“ json”,
       url:ajaxurl,
       数据:form_data,

   async: false,  
   success: function(response) {
              //2nd ajax post call to be placed here?

      } 
  }       

})   

//或应该在第二个ajax发布调用之后放置

我见过有人也在使用jQuery.when(),但不确定是否可以使用它.
从这里开始,我将不得不检查何时条件3次.

提前致谢.

解决方法:

像这样吗

https://api.jquery.com/jQuery.when/

$.when( $.ajax( "/page1.PHP" ), $.ajax( "/page2.PHP" ) ).done(function( a1, a2 ) {
  // a1 and a2 are arguments resolved for the page1 and page2 ajax requests, respectively.
  // Each argument is an array with the following structure: [ data, statusText, jqXHR ]
  var data = a1[ 0 ] + a2[ 0 ]; // a1[ 0 ] = "Whip", a2[ 0 ] = " It"
  if ( /Whip It/.test( data ) ) {
    alert( "We got what we came for!" );
  }
});

a1,a2是从各种回调返回的结果?
(但是,这将执行三个回调(异步),但返回所有三个的结果)

否则,如果您有一个从request1到request2的依赖项,则可以执行以下操作https://api.jquery.com/jQuery.ajax/

$.ajax("page1.PHP").done(function(a1) {
    if (a1 == "something") { // if 2nd call dependent on results from 1st
        $.ajax("page2.PHP").done(function(a2) {
        }).fail(function() {
            // handle with grace
        });
    }
}).fail(function() {
    // handle with grace
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐