2016-09-14 78 views
0

基於已接受的答案here,我試圖從for循環中調用該函數以加載本地域中某些頁面的內容,但我只獲得結果對於第一頁,這隻有當我評論的線。 這是我的代碼:Ajax:將多個頁面內容加載到變量中

function ready() 
{ 
    var from = 0, to = sites.length; 
    var xmlhttp=false; 
    var content = ''; 

    for(from; from < to; from++) 
    { 
     loadDoc(sites[from]); 
     if(xmlhttp==false) 
     { 
      setTimeout(loadDoc(pages[from]), 1000); //try every sec. 
     } 
     else 
     { content = xmlhttp.responseText;} 
    } 
} 

我在做什麼錯誤/丟失?提前致謝。

回答

1

第一:從我在你的代碼中看到,您在每次迭代(這意味着,而不是累積每個迭代的數據,它重新分配新的數據到「內容」可變重新寫自我在由最新xmlhttp.responseText每次迭代)

如果要積聚在一個單個可變的所有內容(字符串),那麼你應該使用變量除了這樣的:

content += xmlhttp.responseText; 

如果您想要將所有的反應存儲在罪中GLE可變的,但作爲一個陣列(其稍後可以迭代針對每個單獨的內容響應),可以使用陣列此外,限定一個空數組:

var contentList = []; 

,並按下一個新項目插入到它在每次迭代中:

contentList.push(xmlhttp.responseText); 

我希望它有點幫助