var uTimeout = false, uRequest = false, uFunction = function(){
if (uRequest !== false) {
uRequest.abort();
}
if (uTimeout !== false) {
clearTimeout(uTimeout);
}
uTimeout = setTimeout(function(){
uRequest = $.get('reload.php', {}, function(q){
/* действия с DOM */
uRequest = false;
uTimeout = false;
uFunction();
});
}, 2000);
};
uFunction();
1. Если в ответ JSON то $.get замените на $.getJSON
2. Если нужно что-то передавать - "{}" на объект, можно вообще убрать это из параметров.
3. Если POST-запрос, то вместо $.get - $.post соответственно
4. Если нужен force-апдейт (например, по нажатию кнопки), просто вызовите uFunction()