Я пытаюсь нажать URL-адрес третьей стороны, чтобы получить ответ XML и показать reposne на моей веб-странице. Я получаю правильный ответ со статусом 200 и читаю как 4 в браузерах IE и Safari. Но в FF3.5 и Crome я получаю статус XMLHTTPRequest как 0, а reponseText - пустой строкой. Я пробовал много вариантов написания нормального XMLHTTPRequest Ajax-кода, а также используя файл-файл версии Prototype 1.5 для этого ajax-запроса, но все же статус и reponseText в FF 3.5 остаются такими же, как 0 и пустая строка.XMLHTTPRequest.status возвращает 0 и responseText пуст в FireFox 3.5
Любая помощь, как решить эту проблему или что именно вызывает эту проблему, будет с благодарностью оценена. Я также пытался выполнить мой код локально, а также развертывать на веб-сервере, но повторный ответ в FF такой же.
Ниже мой фрагмент кода
<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>
Является ли «сторонним URL» в том же домене, что и страница с скриптом, выполняющим запрос? – CalebD
Вы также должны использовать XMLHttpRequest для загрузки XML-файла, а не DOMParser или XMLDOM, который нестандартен и гораздо менее широко совместим. – bobince