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

时间:2015-07-14 08:48:48

标签: javascript jquery ajax

我的页面执行了很多ajax请求。像这样:

__MSG_@@extension_id__

我之前调用的函数会生成链接并执行此操作。这是getAjaxData方法

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'}));
}

问题:每当我加载页面或者我点击按钮重做那些ajax请求时,总会弹出烤面包机通知。即使在成功完成请求后一瞬间,也会触发失败案例。

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

1 个答案:

答案 0 :(得分:4)

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

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'})
    });
}