Thema: Ajax innerhalb von Klassen

Hallo!

ich zerbreche mir seit einiger Zeit den Kopf, wie es zu schaffen wäre, innerhalb einer Klasse mithilfe von Ajax (prototype.js) die Objektvariablen zu verändern...

/* constructor */
function MyClass() {...} // Constructor

/* request  */
MyClass.prototype.request = function () {
  var options = {
                  ...
                  onSuccess:this.processRequest;}};
  this.ajax = new Ajax("index.php", options);
}

/* response */
MyClass.prototype.processRequest(xhr) {
   var xml = xhr.responseXML;
   var foo = xml.getElementsByTagName("foo")[0].firstChild.nodeValue;
   var newElement = document.createElement("div");
   ...

   this.classVar.appendChild(newElement);
}

Dieses Beispiel funktioniert leider nicht...
  processRequest wird zwar aufgerufen bekommt auch das xhr-objekt,
  jedoch ist this.classVar nicht bekannt

Der Hintergedanke für die Kapselung ist der, um bspw. eine Funktionalität mehrfach auf einer Seite abbilden zu können - zb: mehrere Fotoslider auf einer Seite, welche content mithilfe von Ajax liefern...

hat jemand eine Idee/Lösung?

Zuletzt bearbeitet von avid (18-07-2006 13:56:46)

2

Re: Ajax innerhalb von Klassen

Hat jemand eine Idee? Oder Workaround!
thx

Re: Ajax innerhalb von Klassen

ist classVar überhaupt irgendwo deklariert? Ich hab nix gesehen... this.[whichElement].appendChild(newElement)


Gruß Schwatten

4

Re: Ajax innerhalb von Klassen

schwatten schrieb:

ist classVar überhaupt irgendwo deklariert? Ich hab nix gesehen... this.[whichElement].appendChild(newElement)


Gruß Schwatten

Hallo!

die Punkte [...] deuten an dass hier noch ein Paar Anweisungen dazwischen sein können.
kurzum: man kann annehmen, dass classVar auf einen Dom-Node zeigt...

lg

Re: Ajax innerhalb von Klassen

onSuccess:this.processRequest.bind(this)

sonst weiß die funktion processRequest nicht, auf welches objekt sie sich bezieht!

6

Re: Ajax innerhalb von Klassen

Vielen Dank!
werds gleich mal umsetzen!
lg