Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: AJAX jako "zwykła" funkcja JavaScript
Forum PHP.pl > Forum > XML, AJAX > AJAX
dfs
Witam!!!


Od dłuższego czasu głowię się i głowię i nie mogę znaleźć rozwiązania:


Mam na stronie kilka razy takie sekwencje kodu:

  1.  
  2. var parametry_get = "jakie_ prarametry"
  3. var adres_pliku = "jakiś_plik";
  4.  
  5. var obiekt_ajax = new XMLHttpReguest();
  6. obiect_ajax.send("GET",adres_pliku +".php?"+parametry_get);
  7.  
  8. referencja = function ()
  9. {
  10. if(obiect_ajax.readyState == 4) funkcja_analizyjaca_dane(obiekt_ajac.responseXML);
  11. }
  12.  
  13. obiekt_ajax.onreadystatechange = referencja;
  14.  


przepisywanie tego wciąż jest żmudne;/

chciałem osiągnać takie rozwiazanie że wpiszę,
  1. funkcja_analizyjaca_dane(ZapytanieAJAX(adres_pliku,prarametry_get));


tylko za nic w świecie deklarując funkcje ZapytanieAJAX(adres_pliku,prarametry_get) nie mogę zwrócić wartości [u] obiekt_ajac.responseXML[/u]. Jak wyciągać te dane na zewnątrz!!??
nospor
no bo ajax wykonuje się asynchronicznie smile.gif
Mozna oczywiscie ustawic tryb synchroniczny, ale jest to bardzo ale to bardzo niezalecane, wiec lepiej nie kombinuj winksmiley.jpg
dfs
Cytat(nospor @ 10.09.2010, 11:52:59 ) *
no bo ajax wykonuje się asynchronicznie smile.gif
Mozna oczywiscie ustawic tryb synchroniczny, ale jest to bardzo ale to bardzo niezalecane, wiec lepiej nie kombinuj winksmiley.jpg

No ale specyfika projektu jest taka że tryb synchroniczny byłby nawet zalecany;)
To w takim bądź razie jak to zrobić aby działało o ile to to tylko w (a)synchonizmie problem??
zegarek84
co do synchronicznego i asynchronicznego przeczytaj komentarz w przykładzie:
https://developer.mozilla.org/pl/XMLHttpRequest#section_5
dfs
dzięki znalazłem dzięki wam już odpowiedźwinksmiley.jpg

Rozwiązaniem jest synchroniczność... ma to swoje wady... ale akurat w mym przypadku jest to odpowiednie

  1. ZapytanieAJAX(adres_pliku,prarametry_get)
  2. {
  3. var obiekt_ajax = new XMLHttpReguest();
  4. obiect_ajax.send("GET",adres_pliku +".php?"+parametry_get,0);
  5.  
  6. return obiect_ajax.responseXML;
  7. }
nospor
Cytat
ale akurat w mym przypadku jest to odpowiednie
Tak z ciekawości spytam: a możesz powiedzieć co to za przypadek, że akurat tu synchroniczność jest odpowiednia?
dfs
Cytat(nospor @ 10.09.2010, 12:45:35 ) *
Tak z ciekawości spytam: a możesz powiedzieć co to za przypadek, że akurat tu synchroniczność jest odpowiednia?


nie wiem czy odpowiednia... ale myślę że tak... chodzi o to że mam do zrobienia aplikację, gdzie użytkownik musi wykonywać koleje etapy "krok po kroku" a bez tej odpowiedzi AJAX'a kolejny krok i tak nie ma sensu... Ale to w praniu wyjdzie czy to ma sens...


P.S. Między czasie dowiedziałem się że można i to zrobić i asynchroniczne... (chodź jeszcze nie próbowałem), rozchodzi się o metodę magiczną o nazwie "callback"
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.