我的某个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使用情况。我打开(甚至要求)进行改进。
答案 0 :(得分:1)
很多,非常感谢Andrew,MrCode,EaterOfCode我设法解决了这个问题并节省了很多时间!
问题不在于代码,异常/错误没有被捕获。
我按建议添加了.error()-clause
:
$.ajax({...})
.error(function( jqXHR, textStatus, errorThrown ) { console.log(errorThrown); })
.done( function() {... })
控制台在返回ajax-call时显示错误。我(错误地)认为Empty String
是a
有效响应,并且会被忽略。当我删除空字符串时,错误不再发生。