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