jquery ajax导致IE9中的内存泄漏

时间:2011-03-30 15:38:33

标签: html json jquery internet-explorer-9

我每500毫秒更新一次页面的值,并注意到由jquery的$.ajax方法导致IE9中存在内存泄漏。

以下是一个例子:

var refreshId = setInterval(refresh, 500);

function refresh() {

    $.ajax('/url/object?get=theObjectNeeded');
}

在示例中,我没有对值进行任何操作,但通常是JSON请求,我会根据该值填充值。无论哪种方式都存在内存泄漏。

我在Firefox 4和IE8上尝试了相同的代码,但没有发生泄漏。

有没有其他人遇到此问题,有没有人知道解决方案/黑客?我能做的一件事是每隔几个小时刷新一次页面以释放内存,但我不想这样做。

1 个答案:

答案 0 :(得分:2)

我的猜测是ajax请求没有像堆叠一样快。为防止这种情况发生,您可以确保一次只发生一次刷新请求。

   function refresh() {
     $.ajax({
        url: '/url/object?get=theObjectNeeded', 
        success: function(){
          setTimeout(refresh, 500);
        }
      });
    }