多次调用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
答案 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);
});
}