Musiałbyś wysłać żądanie AJAX do skryptu po stronie serwera, który sprawdziłby nowe komentarze w bazie danych i zwróciłby je zakodowane w formacie JSON.
Aby uzyskać tylko najnowsze komentarze, w kodzie po stronie klienta zachowaj sygnaturę czasową ostatniego pobrania komentarza. Następnym razem, gdy poprosisz o komentarz, przekaż tę sygnaturę czasową. Twój skrypt po stronie serwera zwróci tylko komentarze ze znacznikiem czasu większym niż parametr przekazany w parametrze.
Zamiast używać setInterval
, możesz ponownie przesłać żądanie AJAX w module obsługi sukcesu.
function ajaxRequest(timestamp) {
$.ajax({
url : 'url_to_post?timestamp=' + timestamp,
success : function(response){
//handle the new comments here
//call this function again
//sleep for 3 seconds first
setTimeout(function(){
timestamp += 3000;
ajaxRequest(timestamp);
},3000);
}
});
}