Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [advAjax] zmienne globalne w onSuccess
Forum PHP.pl > Forum > XML, AJAX > AJAX
nu_moon
Witam!

Mam nie maly problem z ustawieniem jakichkolwiek zmiennych globalnych (lub zapamietania informacji ktora pojawia sie w klamrach z onSuccess). Po wywolaniu strony, zmienna 'abc' caly czas jest undefinded. Probowalme juz chyba wszystkiego, wlacznie z kopiowaniem tej zmiennej przez parametr funkcji, ale za kazdym razme gdzies po drodze na wartosc jest nadpisywana.
Ktos moze napotkal podobny problem ?

Kod
<script type="text/javascript">
  var abc;
  
function sprawdz_dost(linka)
{
  var login = document.getElementById('login').value;

  advAJAX.post({
      url: linka,
      parameters : {
        "login" : login
      },
      onSuccess : function(obj)
      {  
        if( obj.responseText == "1")
        {
          top.abc = '1';
          document.getElementById('status').innerHTML = '<div class="alert_error">login jest już zajęty przez innego użytkownika</div>';
        }
        
        if(obj.responseText == "2")
        {
          top.abc = '2';
          document.getElementById('status').innerHTML = '<div class="alert_error">login jest już zajęty przez innego użytkownika</div>';
        };
        
      },
        
      onError : function(obj) {
        document.getElementById('status').innerHTML = '<div class="alert_error">Wystapił błąd: '+obj.status+'</div>';
      }
  });

}
      
sprawdz_dost('forum_login_chk.php');
alert(top.abc);  
    
</script>
zbig
Witam !
Po pierwsze definiujesz zmienna abc, a probujesz w koncowym alercie wyswietlic top.abc ( co to jest ? )
Po drugie w onSuccess nadajesz wartosc zmiennej (? raczej polu niezadeklarowanej nigdzie instancji klasy ) top.abc jakas wartosc
Po trzecie nawet jezeli udaloby Ci sie nadac wartosc zmiennej (?) top.abc w onSuccess to dla twojego alertu ta zmienna i tak bedzie undefined poniewaz zostala zainicjowana wewnatrz funkcji
Po czwarte nawet jezeli w onSuccess nadawalbyc wartosc globalnej zmiennej abc to alert wyswietlilby null, poniewaz instrukcje w twoim kodzie zostana wykonane wczesniej niz wroci odpowiedz z serwera.



Pozdrawiam
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.