ASP+javascript+xml
Publicado por Vanesa (1 intervención) el 26/05/2010 15:14:58
Hola a todos: tengo una pagina en ASP que usa una paginas en asp que genera un xml, esto me funciona con IE6 pero no con el IE8.
por ejemplo
pagina_xml.asp
<%Response.ContentType = "text/xml"%>
<?xml version="1.0" encoding="iso-8859-1"?>
<objetos>
<objeto>
<RES>1</RES>
<CAMPO1>VALOR</CAMPO1>
</objeto>
<objeto>
<RES>-1</RES>
</objeto>
</objetos>
y para recuperar los datos (parte del codigo)
function datos() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
var xmldoc = http_request.responseXML;
if (xmldoc0) {xmldoc = xmldoc0; xmldoc0=null}
error==> if (xmldoc.getElementsByTagName('RES').item(0).firstChild.data!="-1") {
if(xmldoc.getElementsByTagName('ID_USUARIO').item(0).firstChild)
document.all.txt_ID_USUARIOS.value = xmldoc.getElementsByTagName('ID_USUARIO').item(0).firstChild.data;
.........
el error me sale donde dice error, como que no recupera o no ve los datos del xml
la funcion que uso para conectarme con el xml es:
function connXML(url,vopt) {
http_request = false;
opt=vopt
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
if (!http_request) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('GET', url, true);
http_request.send(null);
}
y la llamo con:
function recuperar(opcion)
{
var url="localhost/sitio/...."
connXML(url,opcion);
}
Me dijeron que debia cambiar en la que genera el xml
<?xml version="1.0" encoding="iso-8859-1"?>
por
<?xml version="1.0" encoding="utf-8"?>
Pero debe haber algo mas porque no consigo que funcione ni con IE8 ni con el mozilla.
Alguien tiene idea?
perdon por lo largo del mail.
Saludos
por ejemplo
pagina_xml.asp
<%Response.ContentType = "text/xml"%>
<?xml version="1.0" encoding="iso-8859-1"?>
<objetos>
<objeto>
<RES>1</RES>
<CAMPO1>VALOR</CAMPO1>
</objeto>
<objeto>
<RES>-1</RES>
</objeto>
</objetos>
y para recuperar los datos (parte del codigo)
function datos() {
if (http_request.readyState == 4) {
if (http_request.status == 200) {
var xmldoc = http_request.responseXML;
if (xmldoc0) {xmldoc = xmldoc0; xmldoc0=null}
error==> if (xmldoc.getElementsByTagName('RES').item(0).firstChild.data!="-1") {
if(xmldoc.getElementsByTagName('ID_USUARIO').item(0).firstChild)
document.all.txt_ID_USUARIOS.value = xmldoc.getElementsByTagName('ID_USUARIO').item(0).firstChild.data;
.........
el error me sale donde dice error, como que no recupera o no ve los datos del xml
la funcion que uso para conectarme con el xml es:
function connXML(url,vopt) {
http_request = false;
opt=vopt
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
if (!http_request) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
http_request.onreadystatechange = alertContents;
http_request.open('GET', url, true);
http_request.send(null);
}
y la llamo con:
function recuperar(opcion)
{
var url="localhost/sitio/...."
connXML(url,opcion);
}
Me dijeron que debia cambiar en la que genera el xml
<?xml version="1.0" encoding="iso-8859-1"?>
por
<?xml version="1.0" encoding="utf-8"?>
Pero debe haber algo mas porque no consigo que funcione ni con IE8 ni con el mozilla.
Alguien tiene idea?
perdon por lo largo del mail.
Saludos
Valora esta pregunta


0