同步ajax请求管理器

时间:2014-02-27 09:47:58

标签: jquery ajax request synchronous

我有几个同步的ajax请求。我想以这样的方式管理它们:如果一个失败,则不应该执行其余的请求。

我通过将每个子请求放入父成功事件中来实现此目的:

$.ajax({
    url: 'someUrl'
}).done(function() {
    $.ajax({
        url: 'someUrl_1'
    }).done(function() {
        alert('we are done');
    });
});

但是,我的直觉告诉我这不是最好的解决方案。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

你做的很好 从jQuery Docs

更好
var request = $.ajax( url, { dataType: "json" } ),
  chained = request.then(function( data ) {
    return $.ajax( url2, { data: { user: data.userId } } );
  });

chained.done(function( data ) {
  // data retrieved from url2 as provided by the first request
});

您可以阅读有关jQuery然后jQuery Then

的更多信息