Skocz do zawartości

Delkarazja zapytań AJAX w prostej funkcji JavaScript


biznesmen

Rekomendowane odpowiedzi

Witam!

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

Mam na stronie kilka razy powtarzające się sekwencje kodu (paramatry_get i adres_pliku się oczywiście zmienia):

var parametry_get = "jakie_ prarametry"

var adres_pliku = "jakiś_plik";

var obiekt_ajax = new XMLHttpReguest();

obiect_ajax.send("GET",adres_pliku +".php?"+parametry_get);

referencja = function anonimowa_funkcja()

{

if(obiect_ajax.readyState == 4) funkcja_analizyjaca_dane(obiekt_ajac.responseXML);

}

obiekt_ajax.onreadystatechange = referencja;

przepisywanie tego wciąż jest żmudne;/

chciałem osiągać dogodne tego rozwiązanie poprzez deklaracje funkcji której użycie wygadało by tak;

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ć odpowiedzi ".responseXML", gdyż nie mogę tej odpowiedzi nawet wywołać poza blok "anonimowa_funkcja"

Jak to zrobić??

Odnośnik do komentarza
Udostępnij na innych stronach

znalazłem odpowiedź, trzeba było to po prosry zrobić zapytaniem synchonicznym:

function ZapytanieAJAX(adres_pliku,parametry_get)

{

var obiekt_ajax = new XMLHttpReguest();

obiect_ajax.send("GET",adres_pliku +".php?"+parametry_get,0); //trzeci parameter (0 lub 1) określa synchoniczność lub asynchroniczność zapytania.

return obiekt_ajax.responseXML; //to jesli zwracane dane są XML'em bo inaczej to będzie .rsponseText

}

Odnośnik do komentarza
Udostępnij na innych stronach

var zapytanie = function(adres, get, callback)
{
var obiekt_ajax = new XMLHttpReguest();
obiekt_ajax.send("GET",adres +".php?"+get);

obiekt_ajax.onreadystatechange = function()
{
	if(obiekt_ajax.readyState == 4) callback(obiekt_ajac.responseXML);
};
}

/////////////////

zapytanie("plik.php", "param=1", function (obj) {

// kod obsługi



});

Musisz używać VAR przy każdej zmiennej... inaczej staje się zmienną globalną. Synchroniczny AJAX to nie najlepszy pomysł (w takim wypadku już chyba lepiej z niego nie korzystać)

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności