jquery调用导致服务器出现问题

时间:2016-02-10 15:41:46

标签: javascript jquery ajax

多次调用ajax函数后,我注意到有很多进程被激活,我的网站被阻止了(但它在localhost上运行良好)。

jquery调用和进程之间有什么关系? 主机的安全性是否会阻止它?。

我有很多功能在进行自动刷新。如何在不阻止我的网站的情况下刷新?

var auto_refresh3 = setInterval( function () { 
    //tchata2.php is a file checking the new messages  
     $.post("tchata2.php",{FID:identif},function (data){
          if($('#newmsg').val()!=data){ 
              $('#newmsg').empty(); 
              $("#newmsg").append(data);
          } 
     });
}, 1000); // checking for other messages after 1 second 

1 个答案:

答案 0 :(得分:1)

在ajax完成内部延迟后再次调用该函数将是一个更好的主意,并增加时间延迟。在外部使用setInterval将发送多个连续请求,这些请求可能因内存使用过多而破坏浏览器。

var auto_refresh3 = function () { 
     $.post("tchata2.php",{FID:identif},function (data){
          if($('#newmsg').val()!= data){ 
              $('#newmsg').empty();
              $("#newmsg").append(data);
          } 
          setTimeout(auto_refresh3, 5000);
     }).fail( function(xhr, textStatus, errorThrown) {
         setTimeout(auto_refresh3, 5000);
     });
}