为什么我的网络应用在多次GET请求后崩溃了?

时间:2015-04-24 22:26:56

标签: javascript jquery python server browser-cache

我有一个在Python Bottle服务器上运行的网页。我有一块JQuery每秒调用一次GET请求,所以我可以刷新部分页面。它工作正常大约8小时..但是当我让它一夜之间运行时,浏览器崩溃了。

这是我的GET请求(实际上是一个.load()函数,所以我只刷新了一部分页面):

  $('#hiddenDataDiv').load(document.URL + " #hiddenDataDiv", function(result) {
    if (numberOfDivs > 0){
    for (i = 0; i < numberOfDivs; i++) {
    radioResult[i] = $('#data'+i).text();
  }}
});

每秒调用一次,并向我的Python Bottle服务器发送GET请求,询问我的Python脚本生成的新数据。

我是服务器端的新手,所以我是否会造成某种内存泄漏?缓存问题?有没有更好的方法来长时间刷新我的页面?
另外,我可以在我的Google Chrome Inspector中查找哪些内容可以给我一些线索?

编辑:完整功能代码:

function pollInputs(){ 

$('#hiddenDataDiv').load(document.URL + " #hiddenDataDiv", function(result) {
    if (numberOfDivs > 0){
    for (i = 0; i < numberOfDivs; i++) {
    radioResult[i] = $('#data'+i).text();
  }}
});


if (radioResult[0] != undefined){
      if (numberOfDivs > 0){
    for (i = 0; i < numberOfDivs; i++) {
  document.getElementById("input"+i).innerHTML = radioResult[i];
      }}
  }

}

1 个答案:

答案 0 :(得分:0)

在您处理完上一个请求之前,请不要触发下一个请求,以防止大量积压。

function pollInputs(){ 

    $('#hiddenDataDiv').load(document.URL + " #hiddenDataDiv", function(result) { 
        if (numberOfDivs > 0){ 
            for (i = 0; i < numberOfDivs; i++) { 
                radioResult[i] = $('#data'+i).text(); 
            }
        } 
        setTimeout('pollInputs()', 1000); 
    }); 


    if (radioResult[0] != undefined){ 
        if (numberOfDivs > 0){ 
            for (i = 0; i < numberOfDivs; i++) { 
                document.getElementById("input"+i).innerHTML = radioResult[i]; 
            }
        } 
    } 
}