jQuery ajax失败总是触发(即使成功)

jQuery ajax fail always triggered (even in success)

本文关键字:成功 ajax 失败 jQuery      更新时间:2023-09-26

我的页面做了很多ajax请求。这样的:

function getSpecificData(start,end){
    var link = generateLink('open', start, end);
    getAjaxData(link).done(function(data) {
        //save data to array
        //function that does pagination
        renderEvents(); //starts treating events on the new fields
    }).fail($.toaster({ priority : 'danger', title : 'Tickets', message : 'The server monkeys misplaced the tickets'}));
}

我调用了前面的一个函数,它生成链接并执行此操作。下面是getAjaxData方法

function getAjaxData(link) {
    return $.ajax({
        url : link,
        dataType: 'json'
    });
}

问题:每当我加载页面或我重做那些ajax请求在点击按钮的面包机通知总是弹出。失败情况总是被触发,即使一秒钟后请求成功完成。

问题:我做错了什么,导致在请求后立即触发失败?它应该只在请求实际失败时触发,而不是在请求正在进行时触发。

您忘记将失败代码封装在匿名函数中,以便始终执行。

function getSpecificData(start,end){
    var link = generateLink('open', start, end);
    getAjaxData(link).done(function(data) {
        //save data to array
        //function that does pagination
        renderEvents(); //starts treating events on the new fields
    }).fail(function(){
      $.toaster({ priority : 'danger', title : 'Tickets', message : 'The server monkeys misplaced the tickets'})
    });
}