Estoy tratando de presionar una URL de un tercero para obtener la respuesta XML y mostrar el reposne en mi página web. Obtengo una respuesta adecuada con el estado 200 y estado listo como 4 en navegadores IE y Safari. Pero en FF3.5 y Crome obtengo el estado XMLHTTPRequest como 0 y el texto de respuesta viene como una cadena en blanco. Intenté muchas opciones escribiendo el código normal XMLHTTPRequest Ajax, así como el uso del archivo Js de la versión 1.5 de Prototype para esta solicitud ajax, pero el estado y el texto de respuesta en FF 3.5 siguen siendo los mismos que 0 y la cadena en blanco.XMLHTTPRequest.status devuelve 0 y responseText está en blanco en FireFox 3.5
Cualquier ayuda sobre cómo resolver este problema o qué causa exactamente este problema sería muy apreciada. También intenté ejecutar mi código localmente así como implementarlo en el servidor web, pero la respuesta en FF es la misma.
A continuación es mi fragmento de código
<script type="text/javascript" src="prototype_ajax.js"></script>
<script type="text/javascript" language="javascript">
new Ajax.Request("I place my URL Here", {
method: 'get',
onSuccess : function(transport){
var resultDoc = transport.responseText;
var rootObj = loadXML(resultDoc);
},
onFailure : function(transport){
alert(' On Failure '+transport)
}
});
function loadXML(xmlFile) {
var xmlDocElement =null;
var xmlDoc = null;
if (window.ActiveXObject) {
try {
// code for IE
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(xmlFile);
} catch (e) {
alert("inside catch::"+e.message);
}
} else {
// code for Mozilla, Firefox, Opera, etc.
parser=new DOMParser();
xmlDoc=parser.parseFromString(xmlFile,"text/xml");
//xmlDocElement=xmlDoc.documentElement;
}
//alert('loadXML value '+xmlDoc)
return xmlDoc;
}
</script>
¿La "URL de terceros" está en el mismo dominio que la página que tiene el script que ejecuta la solicitud? – CalebD
También debe usar XMLHttpRequest para cargar el archivo XML, no un DOMParser o XMLDOM que no está estandarizado y es mucho menos compatible. – bobince