Hallo,
Ich bin gerade dabei Ajax zu lernen und versuche hierbei einen Post request auszusenden und wieder auszuwerten. Dazu habe ich eine Funktion geschrieben:
<scriptlanguage="javascript" type="text/javascript">
function postrequest(url,data) {
function auswerten() {
if(httpObject.readyState == 4) <------ Zeile 16!
{
if(httpObject.status == 200)
{
result = httpObject.responseText;
document.getElementById("ausgabe").innerHTML = result;
}
}
}
var httpObject = null;
try
{
httpObject = new XMLHttpRequest();
}
catch (ms)
{
try
{
httpObject = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (nonms)
{
try
{
httpObject = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (failed)
{
httpObject = null;
}
}
}
if (httpObject != null)
{
httpObject.onreadystatechange = auswerten;
httpObject.open('POST', url, true);
httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
httpObject.setRequestHeader("Content-length", data.length);
httpObject.setRequestHeader("Connection", "close");
httpObject.send(data);
}
var httpObject = null;
}
</script>
Leider geschiet keine Ausgabe. Das komische ist, dass wenn ich zum beispiel ein alert(""); in die Funktion auswerten setzte klappt alles wie geplant.
function auswerten() {
alert("WENN ICH DAS MACHE KLAPPT ES!");
if(httpObject.readyState == 4)
{
if(httpObject.status == 200)
{
result = httpObject.responseText;
document.getElementById("ausgabe").innerHTML = result;
}
}
}
Ach ja, die Fehlerkonsole sagt:
Fehler: httpObject is null
Quelldatei: http://www.example.com/ajax/test.php
Zeile: 16
Hat jemand eine Idee wie ich dieses Problem lösen kann?
Vielen Dank im Vorraus
Thomas