jquery 当多个嵌套调用中的一个调用失败时,如何处理调用失败;使用$.when方法

cqoc49vn  于 2023-11-17  发布在  jQuery
关注(0)|答案(1)|浏览(178)

我有多个apache请求,我想顺序执行,所以我使用$.when jQuery方法嵌套它们。

$.when(
  $.ajax({
    url : url,
    type: 'GET',
    dataType : 'json'
   }),
  $.ajax({
    url : url,
    type: 'GET',
    dataType : 'json'
  }),
 $.ajax({
   url : url,
   type: 'GET',
   dataType : 'json'
})

).then(doThis);

字符串
现在的问题是,我有第二次失败,这打破了一切。
我想知道,我们如何继续这个序列,即使任何一个调用失败了。

qzwqbdag

qzwqbdag1#

when().then()概念只有在when()部分的所有内容都成功的情况下才有效。如果你想一个接一个地执行AJAX调用,你需要这样做:

$.ajax({
    url : url,
    type: 'GET',
    dataType : 'json',
    error: function() { alert("Error in call #1") },
    complete: function() {
        $.ajax({
            url : url,
            type: 'GET',
            dataType : 'json',
            error: function() { alert("Error in call #2") },
            complete: function() {
                $.ajax({
                    url : url,
                    type: 'GET',
                    dataType : 'json'
                    error: function() { alert("Error in call #3") },
                })
            }
        })
    }
})

字符串
编辑:我更新了我上面的答案,包括一种处理AJAX调用失败的方法,使用error回调。

相关问题