Don P: AJAX streikt im IE

Beitrag lesen

Hallo,

Die aufgerufene Seite liefert folgendes zurück:

<?xml version="1.0" encoding="ISO-8859-1"?><author><online>1</online></author>

Ok, das ist ja ein komplettes XML-Dokument. Evtl. kannst du mittels xmlHttp.responseXML zuzugreifen. Das liefert ein entsprechendes DOM-Objekt:

  
if(document.getElementById) {  
  document.getElementById("counter_online").innerHTML = xmlDoc.getElementsByTagName("online")[0].childNodes[0].nodeValue;  
} else if(document.all) {  
  counter_online.innerHTML = xmlDoc.getElementsByTagName("online")[0].childNodes[0].nodeValue;  
}  

Denn xmlHttp.responseText ist für Text-Rohdaten gedacht. Du willst ja auch nur reinen Text empfangen, um ihn dann mit

if(document.getElementById) document.getElementById("counter_online").innerHTML = xmlHttp.responseText;
  else if(document.all) counter_online.innerHTML = xmlHttp.responseText;

einzusetzen.

Also könntest du doch einfach dafür sorgen, dass dein 'counter_dhtml.php' auch wirklich nur reinen Text schickt, kein komplettes XML-Dokument. Dazu muss auch der richtige HTML-Header geschickt werden, also in 'counter_dhtml.php':

  
header('Content-Type: text/html; charset=iso-8859-1'); // sorgt für die korrekte Kodierung  
header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0'); // wichtig für IE  

Gruß, Don P