永远不会执行完成功能

时间:2014-08-06 13:31:56

标签: javascript jquery ajax

我的某个javascript函数出现问题。在我的网页中,我有多个$.ajax来电,后跟.done(),除了一个,它们似乎都有效。有人可以发现错误吗?

me.AcquireProject = function (lnkClicked) {
    myheader = lnkClicked.closest('th');
    // Get text from cell
    var headerTxt= myheader.clone().children().remove().end().text()

    $.ajax({
        type: "POST",
        url: "UpdateProperties.aspx",
        data: {
            action: "UpdateProject",
            projectId: headerTxt
        }
    })
    .done(function (data) {
        myheader.append('<span class="label label-info pull-right"> TEST: Ajax call is completed </span>')
    })
}

使用VS2010进行调试&amp; Firefox-firebug显示ajax-call已执行without fault。但是my debugpoint @myheader.append... is never reached

问题:跳过done()部分的原因是什么?

注意:由于我还是初学者,不要害怕批评我的Jquery使用情况。我打开(甚至要求)进行改进。

1 个答案:

答案 0 :(得分:1)

很多,非常感谢AndrewMrCodeEaterOfCode我设法解决了这个问题并节省了很多时间!

问题不在于代码,异常/错误没有被捕获。 我按建议添加了.error()-clause

$.ajax({...})
.error(function( jqXHR, textStatus, errorThrown ) { console.log(errorThrown); })
.done( function() {... })

控制台在返回ajax-call时显示错误。我(错误地)认为Empty Stringa有效响应,并且会被忽略。当我删除空字符串时,错误不再发生。