Dovresti inviare una richiesta AJAX a uno script lato server che verifichi la presenza di nuovi commenti nel DB e li restituisca con codifica JSON.
Per ottenere solo gli ultimi commenti, sul codice lato client, mantenere un timestamp dell'ultimo recupero del commento. La prossima volta che richiedi commenti, passa questo timestamp. Il tuo script lato server restituirà solo commenti con un timestamp maggiore del parametro passato.
Invece di usare setInterval
, puoi inviare nuovamente la richiesta AJAX nel gestore dell'esito positivo.
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);
}
});
}