AJAX (asynchroner Server aufruf)Problem
Diana
- javascript
0 Cheatah
Ich habe folgendes Problem . Ich übe gerade und habe mir dazu eine js erstellt in der ich server asynchron daten abrufen möchte . die zugehörige php datei habe ich recht einfach gestrickt . nun klicke ich auf meiner html seite damit die function process beginnt ( code unten stehend ) und bekomem die fehlermeldung "Error reading the response" , welche ich ausgebe wenn die serverantwort in der antwortfunktion nicht gelesen werden kann .Vielleicht könnte ja jemand dem code anschauen und mir einen stups in die richtige richtung geben , bzw sagen woran es liegt . Bin echt am Verzweifeln :( Bin für jegliche Hilfe dankbar
//------------ die php datei
<?php
header('Content-Type: text/xml');
echo'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
echo'<response>';
echo "22";
echo '</response>';
?>
//---------------------------------------------------------
//---------------------------------------------------------
//---------------------------------------------------------
//---------- die js datei----------------------------------
var xmlHttp = createXmlHttpRequestObject();
//--------------------------------------------------------------------------------------------
//------------------------------------ XmlHttp RequestObject ---------------------------------
function createXmlHttpRequestObject(){
var xmlHttp;
try
{
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
"MSXML2.XMLHTTP.5.0",
"MSXML2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP");
for (var i=0; i< XmlHttpVersions.length && !xmlHttp ; i++)
{
try
{
xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
}
catch(e){}
}
}
if(!xmlHttp)
{
alert("Error creating the XMLHttpRequest object.");
}else
{
return xmlHttp;
}
}
//-------------------------------------------------------------------------
//-------- Serveraufruf ---------------------------------------------------
function process()
{
if(xmlHttp)
{
try
{
xmlHttp.open("GET","phptest.php",true);
xmlHttp.onreadystatechange = handleRequestStateChange;
xmlHttp.send(null);
}
catch(e)
{
alert("Cant connect to server");
}
}
}
//-----------------------------------------------------------------------------
//--------------------- Statusänderungen -------------------------------------
function handleRequestStateChange()
{
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200)
{
try
{
handleServerResponse();
}
catch(e)
{
alert("Error reading the response");
}
}else
{
alert("There was a problem retrieving the data");
}
}
}
//--------------------------------------------------------------------------------
//--------------- Serverantwort behandeln ----------------------------------------
function handleServerResponse()
{
xmlResponse = xmlHttp.responseXML;
xmlDocumentElement = xmlResponse.documentElement;
MessageNumber = xmlDocumentElement.firstChild.data;
document.getElementById("box4").innerHTML = '<i>'+ MesageNumber +'</i>'
}
Hi,
nun klicke ich auf meiner html seite damit die function process beginnt ( code unten stehend ) und bekomem die fehlermeldung "Error reading the response" , welche ich ausgebe wenn die serverantwort in der antwortfunktion nicht gelesen werden kann .
dann nimm doch mal den try/catch-Block weg.
Cheatah