Foros del Web » Programando para Internet » Javascript » Frameworks JS »

No Recibo el XML usando firefox

Estas en el tema de No Recibo el XML usando firefox en el foro de Frameworks JS en Foros del Web. Hola amigos... ya me he roto la cabeza, he leido una y otra vez en Internet el modo de realizarlo, y no me funciona cuando ...
  #1 (permalink)  
Antiguo 03/12/2008, 21:49
 
Fecha de Ingreso: mayo-2008
Ubicación: Havana, Cuba
Mensajes: 57
Antigüedad: 16 años, 6 meses
Puntos: 0
No Recibo el XML usando firefox

Hola amigos...

ya me he roto la cabeza, he leido una y otra vez en Internet el modo de realizarlo, y no me funciona cuando supuestamente todo esta bien....

el codigo javascript es algo como esto.


function createRequestObject() {

var req;

if(window.XMLHttpRequest){
// Firefox, Safari, Opera...
req = new XMLHttpRequest();
} else if(window.ActiveXObject) {
// Internet Explorer 5+
req = new ActiveXObject("Microsoft.XMLHTTP");
}

return req;

}


myHTML = createRequestObject();



function send_vote(value) {

myHTML.onreadystatechange=function() {

if (myHTML.readyState == 4) {
var xmlDoc = myHTML.responseXML;



alert(xmlDoc);



}
}

myHTML.open("GET", "funcionphp.php", true);

myHTML.send(null);

}




resultado del alert,,, me dice null..... es como que no recibe XML alguno....

el codigo PHP es algo como este.


function funcionphp() {
echo "<items><title>Esto</title><title>Testing</title></items>";
}



si en vez de leer el XML leo el Text usando HTML.responseText
y le hago un alert,,, sale toda la cadena de respuesta del PHP correctamente....

Estas pruebas son con el firefox, cuando lo testeo con el IE... en el alert del XML dice Object... y si funciona,,, por que con el firefox no ?...

saludos
leo.
  #2 (permalink)  
Antiguo 03/12/2008, 22:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: No Recibo el XML usando firefox

Por lo que veo te falta el header("Content-type: text/xml" );

Saludos.
  #3 (permalink)  
Antiguo 04/12/2008, 10:22
 
Fecha de Ingreso: mayo-2008
Ubicación: Havana, Cuba
Mensajes: 57
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: No Recibo el XML usando firefox

por favor, no tengo mucha experiencia en esto del header,,, donde seria, en el XML que devuelve el PHP, o a la hora de hacer la llamada desde el XMLHTTPRequest object ?.

thanks
leo.
  #4 (permalink)  
Antiguo 04/12/2008, 10:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: No Recibo el XML usando firefox

En el PHP a la hora de imprimir tu XML.

Saludos.
  #5 (permalink)  
Antiguo 04/12/2008, 10:41
 
Fecha de Ingreso: mayo-2008
Ubicación: Havana, Cuba
Mensajes: 57
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: No Recibo el XML usando firefox

Ups,,, muchisimas gracias amigo...

Problema resuelto, o sea... el PHP seria...

function funcionphp() {

header("Content-type: text/xml" );
echo "<items><title>Esto</title><title>Testing</title></items>";

}

funciona perfectamente...
muy agradecido, fueron horas de perdida de tiempo, solo por falta de esa linea de codigo.

leo.
  #6 (permalink)  
Antiguo 04/12/2008, 10:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: No Recibo el XML usando firefox

Como tip para un futuro, cuando estes ejecutando AJAX, trata de ver lo que te arroja, en este caso copia y pega en el explorador la URL a donde haces el request y ve lo que te genera, si lo ejecutas sin el header() podrás ver que la respuesta es un texto normal, pero con el header se transforma a un XML.

También te recomiendo uses la herramienta Firebug, es muy buena al estar desarrollando cosas en AJAX.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:58.