Axel Richter: AJAX: Verarbeitung einer XML-Response in IE und Firefox

Beitrag lesen

Hallo,

Mein Code ist der folgende:

var xmldoc = http_request.responseXML;

alert(xmldoc); //kommt hier [object] oder null?

var root_node = xmldoc.getElementsByTagName('isUnique').item(0);
alert(root_node.firstChild.data);

Mein XML schaut folgendermaßen aus:
<?xml version="1.0" encoding="ISO-8859-15"?>
<HC:Envelope xmlns:HC="www.hollomey.com" DocumentInfo="2006.07.26 14:29:16#http://dev-www-0/GMT/servlet/GenericServlet?service=Hella.GMT.InfoData&amp;ProjectDeeNumber=855&amp;ProjectDefinition=855&amp;ProjectID=855&amp;DS=GMT.Project.Put.Basics.Check.DefinitionDEE">
HC:Parameter
  <ProjectDeeNumber><![CDATA[855]]></ProjectDeeNumber>
  <ProjectDefinition><![CDATA[855]]></ProjectDefinition>
  <ProjectID><![CDATA[855]]></ProjectID>
</HC:Parameter>
HC:Data
  <isUnique>Y</isUnique>
</HC:Data>
</HC:Envelope>

Das wird von einer serverseitigen Sprache generiert? Ansonsten müsen die \ da unbedingt raus!

Unter Firefox klappt das super, ich kann auf das gewünschte XML-Element zugreifen und bekomme den Inhalt zurück, im Internet Explorer bekomme ich aber die Fehlermeldung: "Objekt erforderlich" beim Versuch die alert-Message aufzurufen, da die getElementsByTagName-Methode nichts zurück liefert. Anscheinend wird die an dieser Stelle vom IE nicht unterstützt.

Mit welchem Content-Type im HTTP-Response Header wird das ausgeliefert? IE kann nur application/xml oder text/xml per .responseXML verarbeiten. Ruf mal die XML-Ressource im FireFox einzeln auf und schau dann bei Extras-Seiteninformationen.

viele Grüße

Axel