En Firefox no hay ningún problema pero en IE obtengo error. Lo pongo por partes para que se entienda.
Este es el XML devuelto:
Código:
Y este el código Javascript:<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?> <Results> <Row> <NUMHAB>0</NUMHAB> <WALTAP>1</WALTAP> <HALTAP>1</HALTAP> <NOMBRE>Jaume Vinyes</NOMBRE> <NIF>XXXXXXX</NIF> </Row> <Row> <NUMHAB>1</NUMHAB> <WALTAP>2</WALTAP> <HALTAP>2</HALTAP> <NOMBRE>Jose Garrido</NOMBRE> <NIF>XXXXXXX</NIF> </Row> </Results>
Código:
En FF me hace el alert de Jaume Vinyes sin problemas. var xmlhttp = null; function inicio() { if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); if (typeof xmlhttp.overrideMimeType != 'undefined') { xmlhttp.overrideMimeType('text/xml'); } } else if (window.ActiveXObject) { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } else { alert('El navegador no soporta XML y HTTP request. No se puede continuar'); } } function cargar() { //GET, POST, HEAD xmlhttp.open('GET', 'frame.aspx', true); xmlhttp.send(null); xmlhttp.onreadystatechange = function() { if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) { //var myObj = eval(xmlhttp.responseText); var myObj = xmlhttp.responseXML; Action(myObj); } else { } } if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) { //var myObj = eval(xmlhttp.responseText); var myObj = xmlhttp.responseXML; Action(myObj); } } function Action(myObj) { window.alert(''); var responseXML = myObj; //window.alert(xmlhttp.responseText); var item1 = responseXML.getElementsByTagName('Results')[0]; var row = item1.getElementsByTagName('Row')[0]; var elem = row.getElementsByTagName('NOMBRE')[0]; var datos = elem.firstChild.data; // document.write(datos); window.alert(datos); }
Para que me entre en Action, en IE tengo que añadir las líneas en rojo.
Además en IE, item1 se queda con valor null, por lo que ya no hace alert de nada, pero si hago el window.alert(xmlhttp.responseText); al comienzo, si que se ve que recoge el XML.
Creo que es por la codificación de éste, pero no estoy seguro.
¿Alguién puede echarme un cable?
Gracias.