J'ai actuellement un chat basé sur Ajax, que j'essaye de rationaliser en chargeant seulement le manuscrit de causerie quand une mise à jour se produit. Ainsi, rien ne doit continuer à charger si rien n'a changé dans la base de données.Ajax chat - mise à jour seulement s'il y a un changement
Ma logique actuelle dit:
- fonction JavaScript déclenche à chaque 1/2 seconde pour obtenir les journaux de chat (
setInterval()
)
Si rien n'a changé, cependant, il semble assez inefficace de continuer à appeler il. Au lieu de cela, ce que je voudrais faire est:
- fonction vérifie JavaScript s'il y a des nouvelles journaux dans la base de données
- Si OUI - charger les nouveaux journaux, si NO - laisser les journaux actuellement affichés seul.
Comment est-ce que je ferais cela, cependant? La fonction que j'utilise actuellement est:
function updateShouts() {
$('#chatArea').load('chat.php'); // load chat logs
}
setInterval("updateShouts()", 500); // call function every half a second
Avec la fonction Ajax comment obtenez-vous la valeur retournée par le script php de vérification? – Dave
Vous devez spécifier une fonction de rappel "succès". Vous verrez comment cela fonctionne sur la page à laquelle je vous ai connecté. –