Ajax呼叫开放太多连接?

时间:2012-03-03 14:24:15

标签: ajax post connection pageload

我的网页上遇到一个小问题,即我正在使用ajax进行更新。当我停留在我的页面上一段时间(一小时左右)时,它将停止加载,我无法在浏览器中显示任何页面。自从我将这个(简化的)javascript添加到我的页面后,我才开始遇到此问题:

var interval;

interval = setInterval('UpdateComs()',5000);


function FuncGo() {

  $.post('data.php', { profile: pid }, function(data) {

    $('.holder').html(data);

  });

}

由于我的服务器没有关闭,这可能不是问题所在,我认为这可能是由于连接太多造成的?以上是否可以打开多个连接?
如果它确实应该以某种方式关闭它们?
对不起所有的问题,但我不太熟悉连接如何工作..感谢您的帮助或想法

1 个答案:

答案 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);
  }
 });
}