Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] Funkcja .ajax() - problem z zapętleniem
zgred1010
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Witam. Chciałbym zrobić sobie funkcje która będzie mi się powtarzała co jakiś czas ( w tym wypadku co sekundę )

To mój wstępny kod:
  1. <script type='text/javascript'>
  2. var check_mess = function(){
  3. $.ajax({
  4. url: "messages.php",
  5. success: function(data){
  6. $( "#ile_pw_show" ).empty().append(data);
  7. }
  8. });
  9. setTimeout(check_mess(), 1000);
  10. }
  11. $(document).ready(function(){
  12. setTimeout(check_mess(), 1000);
  13. });
  14. </script>


Kod w pewnym stopniu działa, ale "zamula" stronę w przeglądarce google chrome....

Bardzo bym prosiło o zoptymalizowanie kodu! (IMG:style_emoticons/default/businesssmiley.png)

Ten post edytował zgred1010 2.07.2011, 22:55:57
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
morbic
post
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 29
Dołączył: 13.12.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Tak, minimum, przejęzyczyłem się.

Przy niektórych serwerach ma to znaczenie dla przeglądarki. Jeśli serwer odpowiada dłużej niż jedną sekundę, to requesty nakładają się, przeglądarka zajmuje się kilkoma naraz, wszystko się piętrzy, a przeglądarka może mulić. Należy pamiętać, że $.ajax() jest asynchroniczne.

Może jednak lepiej zostawić to z setTimeout(), ale dać je dopiero, kiedy poprzednie żądanie się zakończy:

  1. <script type='text/javascript'>
  2. var check_mess = function(){
  3. $.ajax({
  4. url: "messages.php",
  5. success: function(data){
  6. $( "#ile_pw_show" ).empty().append(data);
  7. setTimeout(check_mess(), 1000);
  8. }
  9. });
  10. }
  11.  
  12. $(document).ready(function(){
  13. setTimeout(check_mess(), 1000);
  14. });
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 10:07