我有以下代碼:jQuery的等待阿賈克斯好象叫
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();
}
只要數據沒有被(即表【同期】尚不存在),在Ajax的請求進行的,當它完成了數據插入前裝進入桌子,一切都很好。但是當表[year]確實存在時,我的函數沒有什麼可以等待,並且我得到一個空白表格加上加載動畫。
我之前嘗試過的是將ajax-request設置爲同步,並且不要讓我的函數調用「ajaxComplete」,然後每個作品都可以,但我根本沒有加載動畫,屏幕在等待期間被凍結。
任何想法如何讓我的腳本工作? 在此先感謝:)
'無功表=陣列();'必須'無功表= [];'或'無功表=新的Array( );'。然而,我認爲你的情況你想要一個對象,即'= {}'或'= new Object()' – ThiefMaster
謝謝,這是我的文章中的一個錯字。爲什麼我需要一個對象而不是數組?這只是一個字符串?...... – Springsteen
除非'year'是從0..n的值,否則數組並不是真正的最佳選擇。 some_array [2012] = ...;將創建'undefined'值爲'0..2011'的元素。 – ThiefMaster