Ajax mit xajax – Teil 2.2
Schauen wir uns direkt die veränderte Hülle aus Teil 2.1 an.
<?php
include("xajax.inc.php");
$xajax = new xajax();
function helloWorld() {
// (1) xajaxRespone Objekt erzeugen
$response = new xajaxResponse();
// (2) Rueckgabe definieren.
$response->addAssign("inhalt", "innerHTML", "Hello World!");
// (2) XML-Code zurueckgeben
return $response->getXML();
}
$xajax->registerFunction("helloWorld");
$xajax->processRequests();
?>
<html>
<head>
<title>ajax mit xajax</title>
<? $xajax->printJavascript(); ?>
</head>
<body>
<div id="inhalt">
<a href="#" onClick="xajax_helloWorld()">Hello!</a>
</div>
</body>
</html>
Das Beispiel ist ähnlich wie das Erste aufgebaut, deshalb schauen wir uns diesmal nur an was sich innerhalb der helloWorld()-PHP-Funktion tut. Zunächst erzeugen wir in (1) ein xajaxResponse-Objekt. Dies wird wiederum alles Nötige für die Rückgabe von uns abschirmen und wir brauchen uns nur darum zu kümmern, was zurückgegeben werden soll und was sich tun soll nach dem Aufruf, das "Wie" überlassen wir Xajax.
Auf unserem Xajax-Objekt benutzen wir die Methode addAssign(). Damit sagen wir, dass wir von dem HTML-Element mit der ID "inhalt" (siehe <div id="inhalt">…</div>) den inneren HTML-Code (innerHTML) durch etwas anderes (Hello World!) ersetzen möchten. Anschließend geben wir mit der Methode getXML() den nötigen XML-Code zurück. Den wird Xajax auf der Client-Seite annehmen und die entsprechenden Änderungen ausführen.
Was passiert also im Beispiel? Im div-Element mit der ID "inhalt" ist ein Link mit dem Titel "Hello", der beim Aufruf über die oben genannte Kette ersetzt wird durch den Text "Hello World!"
Seit Xajax 0.2 ist eine Rückgabe mit der getXML-Methode return $response->getXML(); nicht mehr nötig und es reicht direkt das Response-Objekt zurückzugeben return $response;





Hallo Leute,
bitte “innerHtml” in -> “innerHTML” ändern!!!!!!!!!!!!!
Habe 4 Tage dran gesessen um das Beispiel zum Laufen zu kriegen.
(Habe gedacht es liegt an Joomla(CMS))
Danke für den Hinweis. Ich habe den Artikel editiert. Und sorry, dass du nun 4 Tage unnötige Arbeit hattest
Für die aktuelle Version muss der PHP-Teil wie folgt lauten:
assign(“inhalt”, “innerHTML”, “omg”);
// (2) XML-Code zurueckgeben
return $response;
}
$xajax->registerFunction(“helloWorld”);
$xajax->processRequest();
?>
Ansonsten ein superverständlich geschriebenes Tutorial, danke dafür!
lg
Huch, die ersten paar Zeilen hats gar nicht angezeigt… Hier nochmal bei nopaste: http://rafb.net/p/OOlTHg61.html
lg
so sollte es gehn:
$response = new xajaxResponse();
$response->assign(“inhalt”, “innerHTML”, “Hallo Welt!”);
return $response;
noch einen kleinen Fehler entdeckt:
$xajax->processRequests();
es sollte heißen:
$xajax->processRequest();
Gibt keine Methode namens processRequests()
Gruß Monte
@Monte,
so wie es da steht ist es korrekt.Das Beispielt bezieht sich auf xajax 0.2x. Der Befehl wurde allerdings seit 0.5beta1 umbenannt in ->processRequest() um es eindeutiger zu machen
[...] Ajax mit Xajax – Teil 2.2 Posted by AntiHype Filed in Ajax, Hype, Internet, PHP, Web 2.0 [...]