$ .ajax()。fail()无效$ .ajax()。done()是

时间:2016-07-15 02:36:22

标签: jquery ajax

我昨天有this question regarding deferreds,@ yury-tarabanko回答了这个问题。 .done()调用完美无缺。我现在正在清理并添加.fail()响应。我已经尝试关闭服务器并更改URL以模拟失败的呼叫,但两者似乎都没有触发.fail()。我刚刚在控制台中收到失败的“GET”消息。

function getStoreCounts() {
    var campaignID = $("input[title='Campaign ID']").val();
    var storeLists = $.ajax({
        type: "GET",
        dataType: "jsonp",
        url: "https://storeLists/apiIndex?callback=?&campaign_code=" + campaignID.toString(),
    }),
    storeCount = storeLists.then(function(data) {
            var counting = $.map(data,function(storeList) {
            $.extend(storeList,{stores:''});
            var getCount = $.ajax({
                type: "GET",
                dataType: "jsonp",
                url: "https://storeLists/apiStoreCount?callback=?&list_id=" + storeList.id.toString(),
            });

            return getCount.then(function(count) {
                storeList.stores = count;
            });

        });
        return $.when.apply($,counting).then(function() {
            return data;
        });
    });
    storeCount.done(function(data) {
        $.each(data,function(i,tierCount) {
            $("input[title='Tier "+tierCount.name+" Kit Count']").val(tierCount.stores.toString());
        });
    }).fail(function(jqXHR, textStatus, errorThrown){
        console.log("foo");
        console.log(textStatus + ': ' + errorThrown);
    });
}

使用控制台编辑编辑我关闭Web服务时所获得的内容。在GET失败之后我没有得到任何东西,没有控制台记录错误,甚至没有“foo”。

enter image description here

1 个答案:

答案 0 :(得分:0)

似乎工作得很好。您得到了什么结果以及您期望得到什么结果?

enter image description here