Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [advAjax] Grupowe wywołania i kolejność ich wywoływania
coldpeer
post 23.06.2008, 02:49:41
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 1
Dołączył: 10.03.2008

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


Witam,

Używam advAjaksa i korzystam z grupowych wywołań, tj. coś takiego jak:

  1. <?php
  2. advAJAX.setDefaultParameters({
  3.    group : "sample_group",
  4.    onGroupLeave : function() { alert("Everything loaded..."); },
  5.    onSuccess : function(obj) { alert(obj.responseText); },
  6.    onError : function(obj) { alert("Error: " + obj.status); }
  7. });
  8.  
  9.  
  10. for(= 0; i < 50; i++)
  11.   advAJAX.get({ url: "http://www.example.com/page"+});
  12.  
  13. advAJAX.setDefaultParameters({});
  14. ?>


Problem w tym, że przy większej ilości psuje mi się kolejność odbieranych danych - pewnie dlatego, że odpowiedzi z serwera mogą przychodzić w różnej kolejności. Wrzuciłem sobie do tej pęteli sleepa na 1 sekundę i niby działa, jednak jest mankament - dane wyświetlane są dopiero po załadowaniu wszystkich wywołań (czyli po 50 sek), a nie na bieżąco, tzn. w powyższym przypadku ze sleepem dostaję jeden alert od pierwszego wywołania, a bez sleepa dostaję 50 alertów ze wszystkich wywołań, ale niepokolei - np. 0, 1, 2, 5, 6, 9, 10, 3, 4, ... a chcę 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ...

Ktoś ma jakiś pomysł?

Dzięki za odpowiedzi.
Go to the top of the page
+Quote Post
Kihol
post 5.07.2008, 23:14:59
Post #2





Grupa: Zarejestrowani
Postów: 46
Pomógł: 6
Dołączył: 20.06.2005
Skąd: Pyskowice

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


W onSuccess wywoływać kolejne zapytania AJAXowe. Wtedy masz pewność, że wykonasz je dopiero po odebraniu odpowiedzi z poprzedniego.
Czyli np utworzyć funkcję :

  1. <?php
  2. function onsuccess(id) {
  3. advAJAX.get({ url: "http://www.example.com/page"+id });
  4. }
  5. ?>

wtedy w kodzie inkrementujesz gdzieś id, po ukończeniu zapytania najlepiej.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 21.06.2025 - 19:44