[JavaScript] Variablenwert verändern

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Atkaz, 14. Februar 2011 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 14. Februar 2011
    Variablenwert verändern

    Hallo Leute,

    hab eine kleines Problem. Es geht darum, dass ich den wert einer Variable veränden will, diese Veränderung findt jedoch in einer $.ajax function.

    hier der Code:
    Beispiel
    Code:
    var meine etwas = (function() {
     var variable = true;
     check_user = function() {
     $('#username').keyup(function(){
     $.ajax({
     type: 'POST',
     data:postVars,
     dataType:'json',
     .....
     success:function(data){
     if(data.ok ==1) {
     variable= false;
     }else{
     variable = true
     }
    
     })
     ......
     }) // Ajax Ende
     } //check_user ENDE
    
    
    })
    
    
    nun besteh tdas Problem darin, dass ich mit ajax keinen Zugriff auf die Variable habe. Das heißt der wert dieser bleibt auf true. Gibt es irgendein Möglichkeit den wert dieser Variable zu verändern bzw. ist es überhaupt möglich den Wert der Variable so zu ändern?
     
  2. 14. Februar 2011
    AW: Variablenwert verändern

    du hast sehr wohl zugriff auf diese variabe und der wert wird auch geändert. vermutlich fragst du den wert einfach nur zu früh ab, denn deine ajax-anfrage verläuft dem anschein nach asynchron. d.h. der rest deines scripts läuft weiter wärend deine anfrage verarbeitet wird.

    am besten du verlagerst den teil, bei dem es wichtig ist welchen wert diese variable hat, mit in die "success"-methode (ggf. auch mit eigenen events), oder du schaltest die ajax-anfrage synchron (was aber zu unerwünschten verhalten führen kann).

    beispiel:
    Code:
    function ajax_beispiel() {
     var variable = true;
     
     // anfrage starten
     var xhr = new XMLHttpRequest;
     xhr.open("GET", "datei.xml", true);
     xhr.addEventListener("load", fertig, false);
     xhr.send();
     
     function fertig() {
     variable = false;
     mach_weiter();
     }
     
     function mach_weiter() {
     alert(variable); // false
     }
     
     alert(variable); // true
     
    }
     
  3. 14. Februar 2011
    AW: Variablenwert verändern

    Danke für die Antwort.

    mein Problem bestand wohl darin, dass die Variable abgefragt habe bevor diese überhaupt neu definiert werden konnte, naja dummer Fehler hab jetzt das script bischen umstrukturiert und siehe, es klappt.

    aber danke für deine Antwort.

    Mfg Atkaz
     
  4. 14. Februar 2011
    AW: Variablenwert verändern

    sagte ich ja

    erledigt -> closed
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.