Aktualnie mam czat oparty na technologii Ajax, który staram się usprawnić, ładując skrypt czatu tylko po wystąpieniu aktualizacji. Dlatego nic nie musi się ładować, jeśli nic się nie zmieniło w bazie danych.Czat Ajax - aktualizacja tylko w przypadku zmiany
Mój obecny logika mówi:
- funkcja JavaScript pożary każdą 1/2 sekundy, aby uzyskać czat dzienniki (
setInterval()
)
Jeśli nic się nie zmieniło, choć wydaje się dość nieefektywne wzywasz to. Zamiast tego, co chciałbym zrobić, to:
- sprawdza JavaScript funkcyjne, czy są jakieś nowedzienniki w bazie danych
- Jeśli TAK - załadować nowe dzienniki, jeśli nie - zostaw aktualnie wyświetlane dzienniki sam.
Co mam jednak zrobić? Obecnie używam funkcji:
function updateShouts() {
$('#chatArea').load('chat.php'); // load chat logs
}
setInterval("updateShouts()", 500); // call function every half a second
Dzięki funkcji Ajax jak masz zwrócona wartość ze sprawdzania skryptu php? – Dave
Musisz określić funkcję zwrotną "sukces". Zobaczysz, jak to działa na stronie, do której Cię przyłączyłem. –