Hallo Leute,
irgendwie finde ich den Fehler nicht in einem meiner Scripte.
Aus einem trotzdem guten Ajax Buch habe ich folgende 3 Dateien übernommen. Im Browser steht jetzt lediglich "Hello Server!". Es fehlt einfach die Antwort von Server. Irgendwie klappt das nicht. Hier meine Dateien. Die HTML Datei gibt ein Feedback.
und die txt datei mit der Zeile:
"Hello Client!"
Kann mir jemand Helfen, ich denke es ist ein Druckfehler im Buch.
Matze
irgendwie finde ich den Fehler nicht in einem meiner Scripte.
Aus einem trotzdem guten Ajax Buch habe ich folgende 3 Dateien übernommen. Im Browser steht jetzt lediglich "Hello Server!". Es fehlt einfach die Antwort von Server. Irgendwie klappt das nicht. Hier meine Dateien. Die HTML Datei gibt ein Feedback.
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>AJAX Foundations: Using XMLHttpRequest</title>
<script type="text/javascript" src="async.js"></script>
</head>
<body onload="process()">
Hello Server!
<br />
<div id="myDivElement"></div>
</body>
</html>
PHP:
// speichert eine Instanz von XMLHttpRequest
var xmlHttp = createXmlHttpRequestObject();
// erzeugt eine XMLHttpRequest-Instanz
function createXmlHttpRequestObject()
{
// speichert die Referenz auf das XMLHttpRequest-Object
var xmlHttp;
// dies müsste auf allen Browsern außer auf IE 6 und älter funktionieren
try
{
// versucht ein XMLHttpRequest-Object zu erzeugen
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
// für IE oder älter
var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP");
// probiert die Prog-IDs durch, bis eine funktioniert
for (var i=0; i <XmlHttpVersions.length && !xmlHttp; i++)
{
try
{
// versucht, ein XmlHttpRequest-Object zu erzeugen
xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
}
catch(e) {}
}
}
// gibt das erzeugte Object oder eine Fehlermeldung zurück
if(!xmlHttp)
alert("Error creating the XMLHttpRequest object.");
else
return xmlHttp;
}
// wird aufgerufen, um eine Datei vom Server zu lesen
function process()
{
alert("test");
// nur fortfahren, wenn xmlHttp nicht leer ist
if(xmlHttp)
{
// Versuch einer Serververbindung
try
{
// liest die Datei async.txt auf dem Server
xmlHttp.open("GET", "async.txt", true);
xmlHttp.onreadystatechange = handleRequestStateChange;
xmlHttp.send(null);
}
// zeigt einen Fehler an, falls er auftritt
catch(e)
{
alert("Can't connect to Server:\n" + e.toString());
}
}
}
// Funktion zur Behandlung der HTTP-Antwort
function handleRequestStateChange()
{
// beschafft eine Referenz auf das <div> Element auf der Seite
myDiv = document.getElementById("myDivElement");
// zeigt den Status des Requests an
if (xmlHttp.readyState == 1)
{
myDiv.innerHTML += "Request status: 1 (loading) <br/>";
}
else if (xmlHttp.readyState == 2)
{
myDiv.innerHTML += "Request status: 2 (loaded) <br/>";
}
else if (xmlHttp.readyState == 3)
{
myDiv.innerHTML += "Request status: 3 (interactive) <br/>";
}
// ist readyState 4, lesen wir auch die Server Antwort
else if (xmlHttp.readyState == 4)
{
// nur weitermachen, wenn Http-Status "OK"
if (xmlHttp.status == 200)
{
try
{
// liest die Meldung vom Server
response = xmlHttp.responseText;
// zeigt die Meldung an
myDiv.innerHTML += "Request status: 4 (complete). Server said: <br/>";
myDiv.innerHTML += response;
}
catch(e)
{
// zeigt Fehlermeldung an
alert("Error reading the response: " + e.toString());
}
}
else
{
// zeigt Statusmeldung an
alert("There was a problem retrieving the data:\n " +
xmlHttp.statusText);
}
}
}
}
und die txt datei mit der Zeile:
"Hello Client!"
Kann mir jemand Helfen, ich denke es ist ein Druckfehler im Buch.
Matze