我有一个在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];
}}
}
}
答案 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];
}
}
}
}