Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX]Czat się długo ładuje.
Forum PHP.pl > Forum > Przedszkole
ArekJ
Witajcie. Napisałem czat, ale niestety pierwsze jego załadowanie trwa dokładnie tyle co ile pobiera nowe dane z bazy danych... Jest to długo, bo co 5 s. Chciałbym, żeby co tyle czasu pobierał te dane, ale żeby czat wyświetlał się odrazu. Kod Ajax:
  1. $(document).ready(function(){
  2.  
  3. $("#send").submit(function(){
  4.  
  5. $.ajax({
  6. type: "POST",
  7. url: "wyslij.php",
  8. data:"tekst="+$("#tekst").val(),
  9. success: function(){
  10. $("#chat").load("pobierz.php");
  11. $("#tekst").val('');
  12. }})
  13.  
  14.  
  15. return false;
  16. });
  17. window.setInterval(function(){
  18. $("#chat").load("pobierz.php");
  19.  
  20. },5000);
  21.  
  22. });

Nie wiem czy dobre tagi, ale nie ma tagu dla js.
wookieb
A ile waży treść generowana przez pobierz.php za pierwszym , kolejnym razem?
phpion
Napisz sobie osobną funkcję, która będzie robiła:
  1. $("#chat").load("pobierz.php");

Następnie wykonaj tą funkcję raz (zwykłe wywołanie), a później ustaw tą funkcję na okresowe wykonywanie (setInterval). Będzie działać.

@wookieb:
Problem w tym, że samo dodanie funkcji do setInterval nie odpala jej automatycznie tylko odczekiwane jest X sekund przed pierwszym uruchomieniem.
sulphur
no normalne masz interval więc w pierwszy załadowaniu strony nie rób tego możesz w body onload wywolać ładowanie czata a poźniej dopiero co 5 sekund
ArekJ
Mam w onlad dodane ładowanie czata, ale niestety ładuje się tyle ile się ładuje czyli 5 s. Zobacze to co pisze phpion, ale wątpie, żeby mi się udało bo JS'a wogóle nie znam...
nospor
Cytat
ale wątpie, żeby mi się udało bo JS'a wogóle nie znam...
bez przesady...
Kod
.....
window.setInterval(function(){
$("#chat").load("pobierz.php");

},5000);

// i jeszcze na koniec wywolanie z palucha
$("#chat").load("pobierz.php");
ArekJ
Ale przecież to co napisałeś @nospor mam w swoim kodzie... Nie zabardzo wiem po co mi to.
nospor
o rety.... w swoim kodzie masz intervala. a w moim kodzie dodalem jeszcze reczne wywolanie pobranie chata. Naprawde nie widzisz tej dodatkowej linijki z komentarzem?
A jak nie kumasz jak to dziala to poprostu to uruchom i sprawdz jak to dziala
ArekJ
o kurcze biggrin.gif Myślałem, że ta linijka co ją dodałeś ma być dodana w body onload, a ja ją mam tongue.gif Ale dodałem tak jak piszesz i działa dobrze smile.gif Przepraszam za zamieszanie!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.