Stefan: Ajax-Klasse verliert this-operator

Beitrag lesen

Hallo,

Der readystatechange-Handler interpretRequest wird nicht im Kontext der cAjax-Instanz ausgeführt, deswegen zeigt this auch nicht auf die Instanz. Das Problem findest du unter http://aktuell.de.selfhtml.org/artikel/javascript/organisation/#object-methoden-und-kontext beschrieben, dort werden auch Lösungen vorgestellt. Man legt z.B. eine Variable an, die auf die Instanz zeigt und die dann im Handler angesprochen wird:

function cAjax () {

var cAjaxInstanz = this;
    this.interpretRequest = function() {
        alert(cAjaxInstanz);
    };
    ...
    this.request.onreadystatechange = this.interpretRequest;
    ...
}


>   
> Mathias  
  
Danke für die Hilfe. Oh man darauf hätte ich auch kommen können. Sowas passiert, wenn man stundenlang auf denselben Code schaut...  
  
Stefan