我很困惑。我試圖通過循環訪問數組並調用我編寫的方法addModule()來將門戶附加到頁面。該方法按照正確的順序被調用正確的次數(通過alert語句進行檢查),但實際上只有一個或兩個門戶被填充。我有一種感覺,它與環和異步的東西,但它更容易與代碼解釋:問題與異步jQuery和循環
moduleList = [['weather','test'],['test']];
for(i in moduleList) { $('#content').append(''); for(j in moduleList[i]) { addModule(i,moduleList[i][j]); //column,name } }
function addModule(column,name) { alert('adding module ' + name); $.get('/modules/' + name.replace(' ','-') + '.php',function(data){ $('#'+column).append(data); }); }
主陣列中的每個陣列,我追加一個新列,因爲這正是每個子陣列是 - 一列門戶網站。然後我遍歷該子數組,並在該列上調用addModule以及該模塊的名稱(該模塊可正常工作)。在我的addModule方法中發生了一些錯誤,它只添加第一個和最後一個模塊,或者有時候是中間模塊,有時甚至沒有模塊......我很困惑!
不知道這是否有助於解決問題,但ID不應以數字開頭。只有一封信。 – user113716 2010-06-13 14:47:41
我的理解是,你沒有得到你的一些請求的迴應。問題是你沒有得到他們的順序? – user113716 2010-06-13 15:15:09
如果問題僅僅是正確的順序,那麼我會建議你的'addModule()'函數爲它所做的每個'.get()'請求在適當的列中創建一個枚舉的''容器。然後當收到響應時,將結果追加到適當的「span」編號。我會看看我是否可以更新我的例子。 – user113716 2010-06-13 15:29:56