Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ajax - kolejność wykonywania zapytań
morthan
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 4
Dołączył: 15.06.2010

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


Witam,

naświetli mi ktoś sprawę jak zachowuje się Ajax przy wielu requestach równocześnie?
Dokładniej, mam stronę z ukrytymi zakładkami. Użytkownik wypełnia pierwszą. W odpowiedzi na jego wybory pobieram dane ajax-em. Wciska dalej, następuje znowu pobranie danych, dodatkowo walidacja, i na koniec przełączenie na następną zakładkę.
Problem polega na tym, że pierwsze pobranie danych korzysta z SOAP i trochę trwa. No i blokuje mi to całego JS-a.


EDIT:
Ogólenie zapytania wykonują się jedno po drugim a, nie równocześnie i ostanie musi czekać na pierwsze.


Co jest tego przyczyną?
Czy ewentualna kolejka FIFO na obsługę requestów po stronie serwera (bo wszystkie zapytania idą do jednego serwera)?
Czy przeglądarka obsługuje zdarzenia w FIFO?
Jakiś pomysł, idea, wiedza, konkretne rowiązanie?

Z góry dziękuję za pomoc.

Ten post edytował morthan 11.04.2014, 16:19:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 809
Pomógł: 1828
Dołączył: 11.03.2014

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


Pokaż kod gdzie wywołujesz Ajax.
Go to the top of the page
+Quote Post
morthan
post
Post #3





Grupa: Zarejestrowani
Postów: 50
Pomógł: 4
Dołączył: 15.06.2010

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


Ajax jest standardowy:

  1. $.ajax({
  2. type: "POST",
  3. url: baseUrl + dataUrl,
  4. cache: false,
  5. data: $("form").serialize(),
  6. global: false,
  7. timeout: 30000,
  8. dataType: "json"
  9. }).done(function(response) {
  10.  
  11. }).error(function(response) {
  12.  
  13. });


i druga:

  1. $.ajax({
  2. type: "POST",
  3. url: baseUrl + dataUrl2,
  4. cache: false,
  5. data: $("form").serialize(),
  6. dataType: "json"
  7. }).done(function(response) {
  8.  
  9. }).fail(function(jqXHR, textStatus) {
  10. });

Wywoływane są w kolejności w jakiej je umieściłem powyżej.

Ten post edytował morthan 14.04.2014, 08:39:46
Go to the top of the page
+Quote Post
#luq
post
Post #4





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Normalnie requesty ajaxowe są przesyłane niezależnie od siebie, możesz sobie napisać obiekt kolejki przez który będą przechodzić requesty i wtedy będziesz miał pewność że coś co zostało wysłane jako pierwsze, pierwsze też zwróci rezultat. "Goły ajax" tak nie działa.

Masz to gdzieś online?
Go to the top of the page
+Quote Post
trueblue
post
Post #5





Grupa: Zarejestrowani
Postów: 6 809
Pomógł: 1828
Dołączył: 11.03.2014

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


Tyle, że właśnie koledze idą/odpowiadają w kolejności.

Ten post edytował trueblue 14.04.2014, 18:34:59
Go to the top of the page
+Quote Post
#luq
post
Post #6





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

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


Tak, rozumiem.
Tyle, że normalnie być tak nie powinno, więc prawdopodobnie requesty przechodzą przez jakąś warstwę która symuluje takie zachowanie.
Go to the top of the page
+Quote Post

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: 7.03.2026 - 08:27