JQuery AJAX вызывает утечку памяти в IE9 - PullRequest
3 голосов
/ 30 марта 2011

Я обновляю значения страницы каждые 500 миллисекунд и заметил, что в IE9 есть утечка памяти, вызванная методом $.ajax jquery.

Вот пример:

var refreshId = setInterval(refresh, 500);

function refresh() {

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

В этом примере я ничего не делаю со значениями, но обычно это запрос JSON, и я заполняю значения на его основе.В любом случае есть утечка памяти.

Я пробовал этот же код с Firefox 4 и IE8, но утечка не происходит.

Кто-нибудь еще сталкивался с этим и кто-нибудь знает орешение / взломать?Одна вещь, которую я мог бы сделать, это обновлять страницу каждые несколько часов, чтобы освободить память, но я не хочу этого делать.

1 Ответ

2 голосов
/ 30 марта 2011

Я предполагаю, что ajax-запросы не выполняются так быстро, как они складываются. Чтобы предотвратить это, вы можете убедиться, что одновременно выполняется только один запрос на обновление.

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