Ajax mit xajax Teil 2.4
Zum Abschluss möchte ich noch ein paar nützliche Methoden des Xajax-Objekt und des
XajaxResponse-Objekt zeigen. Dies ist natürliche keine komplette Referenz, dazu sollte
auf das Xajax-Wiki zurückgegriffen werden.
XajaxResponse Methoden zur Manipulation von Inhalten
In den Beispielaufrufen habe ich einige Standardwerte benutzt, die für folgendes stehen sollen:
id => Die ID eines HTML-Elements, die mit dem id-Attribut zugewiesen wurde, z.B. <div id="meineID">..</div>
attribut => Ein Attribut eines HTML-Elements, also z.B. innerHtml, value oder size (..)
text => Ein beliebiger Text oder HTML-Code, der irgendwo eingesetzt, ersetzt, etc.. wird.
script => Beliebiger JavaScript-Code.
URL => Eine URL
addAssign
Ein Attribut verändern
$response->addAssign("id", "attribut", "text");
addAppend
Weitere Daten anhängen
$response->addAppend("id", "attribut", "text");
addPrepend
Weitere Daten vorne anhängen
$response->addPrepend("id", "attribut", "text");
addReplace
Daten (teilweise) ersetzen
$response->addReplace("id", "attribut", "alter_text", "neuer_text");
addScript
JavaScript-Code hinzufügen
$response->addScript("script");
addClear
Leert den Inhalt eines Attribut
$response->addClear("id", "attribut");
addAlert
Eine JavaScript Alert-Box anzeigen
$response->addAlert("text");
addRedirect
(JavaScript-) Weiterleitung an eine andere URL
$response->addRedirect("url");
addRemove
Entfernt ein Element
$reponse->addRemove("id");
addCreate
Erzeugt ein neues Element innerhalb des Elements der zuerst angegebenen ID.
$response->addCreate("elternID", "neuesElement", "neueID");
$response->addCreate("haus", "div", "tuer");
addInsert
Ein Element vor einem anderen Element einfügen
$response->addInsert("vorID", "element", "id");
addInsertAfter
Ein Element hinter einem anderen Element einfügen
$response->addInsertAfter("vorID", "element", "id");
addIncludeScript
Eine JavaScript-Datei einfügen
$response->addIncludeScript("datei/url");
Nützliche Xajax-Methoden
Die Methoden debugOn(); und debugOff(); sind hilfreich für das Debugging. Dadurch, dass Xajax einen
Großteil der nötigen Aufgaben übernimmt weiß man evtl. nicht mehr an welcher Stelle
ein Problem eintritt. Mit aktiviertem Debug-Modus informieren Alert()-Boxen über jeden
Ausführungsschritt und Fehler lassen sich besser finden.
Mit der Methode setLogFile(); können die Meldungen auch in einer Datei gespeichert werden.
Um den Code sauber zu trennen möchte man eventuell Funktionen auslagern. Mit der
Methode registerExternalFunction(); können Funktionen aus anderen Dateien benutzt werden ohne
dass diese erst per include verfügbar gemacht werden müssen. Xajax fügt den entsprechenden
Code dann dynamisch ein wenn die Funktion gebraucht wird.
$xajax->registerExternalFunction("funktionsname", "datei.php");
Mit registerCatchAllFunction(); kann eine CatchAll-Funktion definiert werden, die immer aufgerufen wird,
wenn Xajax eine registrierte Funktion nicht finden kann und kann somit auch benutzt werden um dynamisch
auf Anfragen zu reagieren die nicht vorher genau definiert sind.
In den bisherigen Beispielen wurde printJavaScript(); zur Ausgabe des JavaScript-Codes
benutzt. Möchte man den JavaScript-Code nicht direkt ausgeben sondern in einer Variable vorliegen haben
um beispielsweise ein Template-System zu benutzen, dann erfüllt getJavascript(); diese Aufgabe.





[...] Ajax mit Xajax – Teil 2.4 Posted by AntiHype Filed in Ajax, Hype, Internet, PHP, Web 2.0 [...]