我的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 &Firefox进行调试表明,ajax-call
是执行without fault
的。但是my debugpoint @myheader.append... is never reached
。
问题:跳过done()部分的原因是什么?
注意:由于我还是个“初学者”,所以不要害怕批评我的Jquery用法。我公开(甚至要求)改进。
发布于 2014-08-06 14:01:35
感谢Andrew,MrCode,EaterOfCode,我解决了这个问题,节省了不少时间!
问题不在于代码,而只是没有捕捉到异常/错误。我按照建议添加了一个.error()-clause
:
$.ajax({...})
.error(function( jqXHR, textStatus, errorThrown ) { console.log(errorThrown); })
.done( function() {... })
控制台显示了ajax调用返回中的一个错误。我(错误地)认为Empty String
是a
有效响应,因此会被忽略。当我删除空字符串时,错误就不再发生了。
https://stackoverflow.com/questions/25161751
复制相似问题