1
Hallo, ich möchte auf meiner Webseite ein Feld, wo man eine kurze Nachricht eingeben kann. Allerdings sollen die Daten mit Ajax verschickt werden, damit die Site nicht extra neu geladen werden muss. Dafür habe ich schon auf http://www.php.de/html-usability-und-barrierefreiheit/44838-ajax-open-mit-post-und-get.html einen Code dazu gefunden. Soviel, wie ich davon verstanden habe, müsste der Code jetzt so aussehen (Die Variable MyName heißt bei mir message):
Leider funktioniert der Code nicht...
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlHttp;
// IE
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
xmlHttp = false;
}
} else {
// other
try
{
xmlHttp = new XMLHttpRequest();
} catch (e) {
xmlHttp = false;
}
}
if(!xmlHttp)
alert("Error creating the XMLHttpRequest object.");
else
return xmlHttp;
}
function process()
{
// 0 - uninitialized
// 1 - loading
// 2 - loaded
// 3 - interactice
// 4 - complete
if(xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
{
name = encodeURIComponent(document.getElementById("message").value);
param='name=' + name;
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.open("POST", "quickstart.php"+'?'+Math.random(), true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlHttp.setRequestHeader("Content-length", param.length);
xmlHttp.setRequestHeader("Connection", "close");
// make the server request
xmlHttp.send(param);
} else
setTimeout('process()', 1000);
}
function handleServerResponse()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
xmlResponse = xmlHttp.responseText;
// xmlDocumentElement = xmlResponse.documentElement;
// helloMessage = xmlDocumentElement.firstChild.data;
document.getElementById("divMessage").innerHTML = '' + xmlResponse + '';
setTimeout('process()', 1000);
} else {
alert("There was a problem accessing the server: " + xmlHttp.statusText);
}
}
}
Leider funktioniert der Code nicht...