Attualmente ho una chat basata su Ajax, che sto cercando di ottimizzare semplicemente caricando lo script della chat quando si verifica un aggiornamento. Quindi, nulla deve continuare a caricarsi se non è cambiato nulla nel database.Ajax chat - aggiorna solo se c'è un cambiamento
La mia logica attuale dice:
- funzione JavaScript spara ogni 1/2 secondo per ottenere i registri (
setInterval()
)
Se nulla è cambiato, però, sembra abbastanza inefficiente per continuare ad invocare chattare esso. Invece, quello che vorrei fare è:
- funzione controlla JavaScript se ci sono nuovi log nel database
- Se SI - caricare i nuovi registri, se NO - Lasciare i ceppi attualmente visualizzate solo.
Come potrei andare su questo, però? La funzione che sto attualmente utilizzando è:
function updateShouts() {
$('#chatArea').load('chat.php'); // load chat logs
}
setInterval("updateShouts()", 500); // call function every half a second
Con la funzione di Ajax come si ottiene il valore restituito dallo script php di verifica? – Dave
È necessario specificare una funzione di callback "riuscita". Vedrai come funziona sulla pagina a cui ti ho collegato. –