Sto cercando di raggiungere un URL di terze parti per ottenere la risposta XML e mostrare il reposne nella mia pagina web. Ricevo una risposta corretta con stato 200 e readystate come 4 nei browser IE e Safari. Ma in FF3.5 e Crome ottengo lo stato XMLHTTPRequest come 0 e ReponseText si presenta come una stringa vuota. Ho provato molte opzioni scrivendo il normale codice Ajax di XMLHTTPRequest e utilizzando il file js di versione 1.5 di Prototype per questa richiesta ajax, ma lo stato e reponseText in FF 3.5 rimangono uguali a 0 e stringa vuota.XMLHTTPRequest.status restituisce 0 e responseText è vuoto in FireFox 3.5
Qualsiasi aiuto su come risolvere questo problema o che cosa sta causando esattamente questo problema sarebbe molto apprezzato. Avevo anche provato a eseguire localmente il mio codice oltre a distribuire su webserver il repsonse in FF è lo stesso.
Qui di seguito è il mio frammento di codice
<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>
È "l'URL di terze parti" nello stesso dominio della pagina in cui è presente lo script che esegue la richiesta? – CalebD
Dovresti utilizzare anche XMLHttpRequest per caricare il file XML, non un DOMParser o XMLDOM che non è standardizzato e molto meno ampiamente compatibile. – bobince