我的网页上遇到一个小问题,即我正在使用ajax进行更新。当我停留在我的页面上一段时间(一小时左右)时,它将停止加载,我无法在浏览器中显示任何页面。自从我将这个(简化的)javascript添加到我的页面后,我才开始遇到此问题:
var interval;
interval = setInterval('UpdateComs()',5000);
function FuncGo() {
$.post('data.php', { profile: pid }, function(data) {
$('.holder').html(data);
});
}
由于我的服务器没有关闭,这可能不是问题所在,我认为这可能是由于连接太多造成的?以上是否可以打开多个连接?
如果它确实应该以某种方式关闭它们?
对不起所有的问题,但我不太熟悉连接如何工作..感谢您的帮助或想法
答案 0 :(得分:0)
我怀疑是一个随机错误(由于网络流量导致连接失败,可能是超时),它会停止setInterval。始终将annonomus函数(不是字符串)传递给setTimeout或setInterval,并仅在完成前一个函数后调用下一个函数。
function UpdateComs() {
$.ajax({
type: "POST",
url: 'data.php'
data: {profile:pid},
async: true,
cache: false,
timeout: 10000,
success: function(data){
$('.holder').html(data);
setTimeout(function(){UpdateComs(); },5000);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
//do what you want with the error
setTimeout(function(){UpdateComs(); },5000);
}
});
}