Приветствую всех!
Клепаю проект в свободное от работы время, но недавно совершенно неожиданно для себя столкнулся со странной проблемой. Ее суть заключается в следующем: на каждой странице сайта имеются ссылки, при переходе по которым контент грузится в определенный блок на сайте аяксом. То есть к ним на onclick подвешен метод с аяксом. Таких ссылок достаточно много, то есть юзеры будут щелкать много и уверенно) Сам код особо ничем не примечателен:
$.ajax ({
method: 'get',
url: 'ajax.php',
cache: true,
data: { mod:mod, id:id, },
success: function (c) {
$('#content').html (c);
},
}).done (function () {
return false;
});
});
Все работает отлично, но я уже начал готовиться выкинуть его в продакшн, поэтому решил пощелкать все более основательно и с ужасом обнаружил, что с каждым кликом по таким ссылкам контент грузится все более медленно. 3-4 ссылки летают, с 5 наблюдаются уже секундные затыки, а далее браузер (любой) просто люто виснет на минуту. После того, как он отходит, при следующем клике картина повторяется. Помогает только перезагрузка страницы (если, конечно, браузер в данную минуту не висит))) ). Такое ощущение, что он что-то там грузит в кеш, который постепенно переполняется, или пишет что-то в какой-то стек. Скорее всего лучшим решением будет что-то очищать после каждого вызова аякса, вот только что и от чего?)
Уже и кэш аякса включал/отключал, c async игрался, кидал рандомный параметр в url - ничего не помогает. Проц при этом не грузит, память не жрет.
О, и что самое интересное - если пропустить функцию через setInterval (), то она запускает саму себя совершенно без затыков, как и подобает аяксу.
Буду благодарен любой помощи, так как меня уже холодок пробирает: занимался проектом два года, а из-за такой мелочи работа с ним почти невозможна...
Заранее благодарен!