我有一系列3个函数,它们都具有相互依赖的AJAX调用。
第一个是JSP加载和AJAX链调用:
function loadJSP(yearmonth){
$(".container_12").empty();
$(".container_12").load("jsp/demotable.jsp", function(){
loadPage(yearmonth).done(function(){
$('table').dataTable({
"ordering": false,
"initComplete": function () {
$(".ui-toolbar").hide();
$( "p" ).removeClass( "myClass yourClass" )
}
});
$(".loading").hide();
$("#tabs-1").show();
})
});
}
现在实际的ajax调用是一个回调链:
function loadPage(yearmonth){
return (loadMeses(yearmonth).done(loadDados));
}
由于第一个调用在selecet框中提供了可用月份,因此第二个部分需要知道在加载数据之前最近一个月。
这条链很好用。加载数据部分仅在可用的月份ajax调用完成后运行。问题是线条
$(".loading").hide();
$("#tabs-1").show();
在表格完成之前运行。这意味着它在添加数据之前显示一个空表。
这是加载数据功能:
function loadDadoss (){
setAJAXcharConn ();
var source = "/intl/servlet/apps.test.HTMLtest?param=&p1=test2&p2=201412";
return ($.getJSON(source,function(result){
$.each(result, function(i, field){
for(foo = 3;foo < 8;foo++){
var preparedField = accounting.formatMoney(field[foo] , "", 2, ".", ",");
$('#'+i).append('<td>'+preparedField);
}
});
})
)}
我在这里错过了一些关于回调的内容吗?