我有一些jQuery代码,它们递归调用以从服务器获取一些数据。它每1.5秒轮询一次服务器。每次这样做,内存使用量都会增加 - 因为每个AJAX调用的响应似乎永远不会被丢弃。
我已经删除了这个以进行测试 - 没有在.done上完成任务(在真正的webapp中,有些东西会写入DIV),而且我已经将服务器的响应减少到了几个字符。 timeOut间隔没有区别。
我想你可能会问我为什么要这么频繁地进行民意调查。它必须是那样的。它是一个内部webapp,用于轮询LAN上的服务器以获取最新状态。
为什么会泄漏,我该如何纠正?谢谢!
(function ajax_poll(){
setTimeout(function(){
$.ajax({
url: '/responder.php',
data: { key:value },
timeout: 5000,
beforeSend: function(response){
// do something
}})
.done ( function(response){
// do something
ajax_poll();
})
.fail ( function(response){
// do something
ajax_poll();
});
}, 1500);
})();