您好我遇到了ajax和两个回调代码的问题
loadTasks(function(tasks) {
taskhtml = whatStatus(tasks);
loadSupportList(function(tasks) {
supporthtml = support(tasks);
$("#devtask-table").html(
titleDraw() + "<tbody>" + supporthtml + taskhtml
+ "</tbody>");
hideCurtain();
});
});
当loadSupportList或loadTasks有记录时,它可以正常工作。但当其中一个没有得到Error时,status = parsererror,抛出错误:SyntaxError:意外的输入结束。它跳出了功能,让我一无所有。我的ajax函数看起来就是这样:
function loadSupportList(callback) {
$.ajax({
type : "POST",
url : url,
data : {
userId : userId,
sessionId : sessionId
},
success : function(data) {
callback(data['tasks']);
},
error : function(jqXHR, textStatus, errorThrown) {
console.log("Error, status = " + textStatus + ", " + "error thrown: "
+ errorThrown);
}
});
}
而且我不知道要改变什么,忽略(?)或者做一些json(&#39;成功&#39;)?有办法吗?谢谢你的时间。
我做了些傻事,但它的工作却不傻
loadTasks(function(tasks) {
taskhtml = whatStatus(tasks);
$("#devtask-table").html(
titleDraw() + "<tbody>" + supporthtml + taskhtml
+ "</tbody>");
loadSupportList(function(tasks) {
supporthtml = support(tasks);
$("#devtask-table").html(
titleDraw() + "<tbody>" + supporthtml + taskhtml
+ "</tbody>");
hideCurtain();
});
});
答案 0 :(得分:1)
假设任务返回一个数组...像这样更新你的loadSupportList
函数..
success : function(data) {
var ret = [];
if(
'object' == typeof data &&
'undefined' != typeof data.tasks
) ret = data.tasks;
callback(ret);
}