2016-09-14 56 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); 

我希望它有点帮助