Ta strona używa ciasteczek (cookies), dzięki którym nasz serwis może działać lepiej. Dowiedz się więcej OK, rozumiem

[js] jak wyprowadzić odebrane zmienne poza funckje

Tworzenie dynamicznych stron internetowych z zastosowaniem JavaScript, jQuery, Ajax. Dowiedz się jak to zrobić, znajdź rozwiązania swoich problemów.

[js] jak wyprowadzić odebrane zmienne poza funckje

Post 12.10.2017, 12:46:58

Kod: Zaznacz cały
var post = $.post( "http://.../panel.php", { name: username, pass: password}).done( function( data ) {
            console.log(data);
            var myObj = JSON.parse(data);
            console.log(myObj);

            //Status logowania
            if(myObj.status=="Ok"){
               
               zmienna1 = myObj.zienna1;
zmienna2 = myObj.zienna2;
zmienna2 = myObj.zienna2;
               
            }else{
                myApp.alert('Wystąpił błąd połączenia!');
            }

            return myObj;

            });

   console.log(test);
   console.log(post);

   console.log(post.responseText);


Moje pytanie brzmi? Jak wyprowadzić zmienne1 i 2 i 3 poza obszar funkcji post? Dziękuje
W consol.log(post) widze odpowiedź z serwera ale jak dam post.responseText - wyświetla mi się undefined
smarcz
Posty: 5
Dołączył(a): 05.05.2007

Re: [js] jak wyprowadzić odebrane zmienne poza funckje

Post 12.10.2017, 16:31:51

Ajax jest z natury asynchroniczny, dlatego kod
Kod: Zaznacz cały
console.log(post.responseText);

zostanie wykonany bez czekania aż żądanie ajaxowe się zakończy. Stąd nigdy nie zobaczysz tam gotowej odpowiedzi.
Miejscem, gdzie powinieneś kontynuować logikę programu, w którym masz pewność, że odpowiedź serwera jest dostępna, jest funkcja wewnątrz .done().
Avatar użytkownikakuku
Rafał Kukawski

+∞
+∞

Posty: 19587
Dołączył(a): 14.04.2002


Powrót do JavaScript


 


  • Podobne wątki
    Odpowiedzi
    Wyświetlone
    Ostatni post

Kto przegląda forum

Użytkownicy przeglądający ten dział: Google [Bot] i 11 gości

Hosting, Domeny, SSL

Subskrypcja

Mamy 50441 zarejestrowanych użytkowników.
Najnowszy użytkownik: MarekMarszałek


Nasi użytkownicy napisali:

  • 935652 wiadomości
  • w 246577 tematach

Najnowsze wpisy na blogu

Najnowsze artykuły

Najaktywniejsi (ostatnie 30 dni)