Actualmente tengo un chat basado en Ajax, que estoy intentando simplificar cargando solo el script de chat cuando ocurre una actualización. Por lo tanto, nada tiene que seguir cargando si no ha cambiado nada en la base de datos.Chat de Ajax: solo se actualiza si hay un cambio
Mi lógica actual dice:
- función de JavaScript dispara cada medio segundo para obtener los registros (
setInterval()
)
Si nada ha cambiado, sin embargo, parece bastante ineficiente para seguir llamando a chatear eso. En su lugar, lo que me gustaría hacer es:
- cheques JavaScript función si hay nuevos registros en la base de datos
- Si SI - cargar los nuevos registros, si NO - abandonan los registros mostrados actualmente solo.
¿Cómo podría hacer esto? La función que estoy usando actualmente es:
function updateShouts() {
$('#chatArea').load('chat.php'); // load chat logs
}
setInterval("updateShouts()", 500); // call function every half a second
Con la función Ajax ¿cómo se consigue el valor devuelto por el chequeo del script php? – Dave
Debe especificar una función de devolución de llamada "exitosa". Verás cómo funciona en la página a la que te he vinculado. –