Java Reference
In-Depth Information
<body>
<h1>Geben Sie Ihren Namen ein</h1>
<form>Name: <input type="text" id="n" /></form><hr />
<button id="frage">OK</button><div id="antwort"></div>
</body>
</html>
In der externen JavaScript-Datei zur Kommunikation mit dem Webserver müssen wir nur
ein paar wenige Stellen verändern (kap10_3.js):
Listing 10.9■ Die neue JavaScript-Datei
var resOb = erzXHRObjekt();
function sndReq() {
resOb.open('get', 'serverantworten/kap10_3.php?n=' +
encodeURIComponent(document.getElementById("n").value), true);
resOb.onreadystatechange = function() {
if (resOb.readyState == 4) {
document.getElementById("antwort").innerHTML = resOb.responseText;
}
};
resOb.send(null);
}
window.onload = function() {
document.getElementById("frage").onclick = sndReq;
};
In der open() -Methode wird einfach ein Pseudo-URL aus einem Namen für das Eingabefeld,
über den der Wert auf dem Server entgegengenommen werden kann ( n ), und dem Wert zu -
sammengesetzt (über die ID abgefragt). Zusätzlich wird der Wert mit encodeURIComponent()
umgewandelt, um Sonderzeichen zu maskieren. Das war alles.
Die Serverseite ist in Hinsicht auf AJAX im Grunde vollkommen uninteressant ist, aber
unter http://downloads.hanser.de inden Sie ein passendes PHP-Skript (kap10_3.php) .
10.6.3■nachfordern von XML-Daten
Wenn XML schon in der ausgeschriebenen Form von AJAX drinsteckt, können Sie natürlich
XML vom Server als Antwort auf eine AJAX-Anfrage fordern. Die XML-Daten können wie
auch HTML-Fragmente sowohl in Form einer dynamisch generierten Antwort als auch in
einer statisch auf dem Server zum Download bereitgestellten XML-Datei zur Verfügung ste-
hen. Das spielt für die Verwertung der Daten auf dem Client in der Folge keine Rolle. In der
open() -Methode muss bloß eine Referenz auf den URL der Datei notiert werden, die die
Antwort generiert, oder eine Referenz auf den URL der zum Download verfügbaren stati-
schen XML-Datei. Wenn Sie nun bei einer AJAX-Anfrage dem Client XML-Daten senden
wollen, ist die rein auf die AJAX-Anfrage bezogene Arbeit auf Seiten des Servers also trivial,
zumindest was die reine Versendung der Daten nach der AJAX-Anfrage vom Webserver zum
Client angeht - die Erstellung der XML-Daten kann komplexeste Prozesse erfordern. Es gibt
aber sonst kaum einen Unterschied zu dem Fall, dass Sie (X)HTML oder einen Text anfor-
dern wollen. Betrachten Sie die nachfolgenden Abwandlungen unserer Standardfunktion,
die die Datei kap10_4.xml anfordert:
 
Search WWH ::




Custom Search