Struppi: AJAX - onreadystatechange im Firefox

Beitrag lesen

Klickt man im IE 7 auf den Button, wird "Funktion 1" - "Lorem Ipsum" ausgegeben - wie man es erwarten würde.

Der Firefox 2.0 gibt folgendes aus: "Funktion 1" - "Funktion 1" - "Lorem Ipsum".

Wenn ich deinen Code benutze gibt FF bei mir "Funktion 1" - "Lorem Ipsum" aus, also genau das was du erwartest.

Prinzipiell würde ich sowas auch sauberer Umsetzen, z.b. ein selbstgeschriebenes AJAX Objekt erzeugen, dem du beim Request eine Callback Funktion übergibst, die dann beim onready Event aufgerufen wird.

Also so etwas in der Art (schematisch)

function myAjax() {  
   var ajax_obj = new XMLHttpRequest();  
   var callback;  
   var isActive = false;  
   ajax_obj.onreadystate = function() {  
      if(ajax_obj.readyState == 4) {  
         isActive = false;  
         if(callback) callback();  
      }  
   };  
   this.send = function(url, cb) {  
      if(isActive) return false;  
      isActive = true;  
      if(cb) callback = cb;  
      // .. AJAX operationen ..  
   };  
  
}

Struppi.