我有以下代码:
var table = new Array();
function getTableData(year) {
if (!table.hasOwnProperty(year)) {
$.ajax({
...
success: function(data) {
table[year] = data;
}
});
}
}
所以,我希望这个函数做的基本上是检查,如果我之前调用过那个 Ajax 请求,如果我有,不要再次调用它,而是返回之前加载的数据。
这就像一个魅力。什么不起作用是这样的:
function showTable(year) {
$('#loadingAnimation').show();
$('#tableDiv').ajaxComplete(function() {
// insert data into table
}
$('#loadingAnimation').hide();
}
只要之前没有加载数据(即 table[year] 还不存在),就会执行 ajax-request,当它完成时,数据被插入到表中,一切正常。但是当 table[year] 确实存在时,我的函数没有任何等待,我得到一个空白表和加载动画。
我之前尝试过将 ajax-request 设置为同步并且不要让我的函数调用“ajaxComplete”,然后一切正常,但我根本没有加载动画,屏幕只是在等待期间冻结。
有什么想法可以让我的脚本工作吗?提前致谢 :)