Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> AJAX jako "zwykła" funkcja JavaScript, Czy mozliwym jest zadeklarowanie XMLHttpRequest w funcji??
dfs
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.02.2009

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


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!!??

Ten post edytował dfs 10.09.2010, 10:52:51
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




no bo ajax wykonuje się asynchronicznie (IMG:style_emoticons/default/smile.gif)
Mozna oczywiscie ustawic tryb synchroniczny, ale jest to bardzo ale to bardzo niezalecane, wiec lepiej nie kombinuj (IMG:style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
dfs
post
Post #3





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.02.2009

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


Cytat(nospor @ 10.09.2010, 11:52:59 ) *
no bo ajax wykonuje się asynchronicznie (IMG:style_emoticons/default/smile.gif)
Mozna oczywiscie ustawic tryb synchroniczny, ale jest to bardzo ale to bardzo niezalecane, wiec lepiej nie kombinuj (IMG:style_emoticons/default/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??
Go to the top of the page
+Quote Post
zegarek84
post
Post #4





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


co do synchronicznego i asynchronicznego przeczytaj komentarz w przykładzie:
https://developer.mozilla.org/pl/XMLHttpRequest#section_5
Go to the top of the page
+Quote Post
dfs
post
Post #5





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.02.2009

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


dzięki znalazłem dzięki wam już odpowiedź(IMG:style_emoticons/default/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. }


Ten post edytował dfs 10.09.2010, 11:45:30
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




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?
Go to the top of the page
+Quote Post
dfs
post
Post #7





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 10.02.2009

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


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"
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 Aktualny czas: 25.12.2025 - 08:00