我有一個應用程序在第一次運行時加載多個資源,這些資源存儲在localStorage中。我有一個函數,檢查是否所有的本地存儲變量設置,以便該部分工作正常。如何檢測幾個AJAX請求已完成或失敗?
我的工作的方法是這樣的:
- 顯示加載消息。
- 初始化AJAX請求。
- 啓動計時器間隔以檢查是否所有內容都已加載。
- 當數據加載時,初始化應用程序等。
- 如果數據未加載,則顯示錯誤消息。
問題是#5 - 如何檢測是否有錯誤?例如,如果出現連接問題或服務器因任何原因而發回無效數據。這裏是我當前的代碼 - downloadData只是進行基本的AJAX請求:
// check local storage and download if any missing
if (!checkLocalStorage())
{
$('#content').before('<div class="notice" id="downloading">Downloading data, please wait...</div>');
for (var i in db_tables)
{
if (localStorage[db_tables[i]] == null)
downloadData(db_tables[i]);
}
}
// check progress
var timer = setInterval(function() {
if (checkLocalStorage())
{
// everything is downloaded
$('#downloading').hide();
clearInterval(timer);
initApp();
}
}, 500);
問題是,服務器可能會返回200響應,但數據不正確(例如PHP/MySQL錯誤或其他)。 – DisgruntledGoat 2011-04-21 09:27:16