* решено * Ответ в отдельном посте ниже
Этот код отлично работает в FireFox, но не работает в Internet Explorer 8. Он выдает ошибку «Отказано в доступе. Что-то мне не хватает?
function loadXMLDoc(dname){
if (window.XMLHttpRequest){
var xhttp=new XMLHttpRequest();
}
else{
var xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET", dname,false);
xhttp.send();
return xhttp.responseXML;
}
var xmlDoc=loadXMLDoc("notSchema.xml");
var x=xmlDoc.getElementsByTagName('ROOT_NODE_ID');
Он не любит .open () и .send ()
Edited ...
var x;
function loadXMLDoc(dname){
var request = $.ajax({
url: dname,
type: "GET",
async: false,
data: {},
success: function(http){
xmlDoc = http;
alert(http);
x=http.getElementsByTagName("ROOT_NODE_ID");
},
error: function(html){
alert('failure: ' + html);
}
});
}
loadXMLDoc("notSchema.xml");
for (var i=0;i<x.length;i++)
{
if(x[i].childNodes[0] == undefined) {
treeArray[count]="null";
count++;
}else{
//return ROOT_NODE_ID
treeArray[count]=x[i].childNodes[0].nodeValue;
count++;
}
}
Редактировал Код еще раз. Я пытаюсь загрузить XML, разобрать тег «ROOT_NODE_ID», затем получить это значение и сохранить его в массиве
Когда я запускаю этот код в Firefox, он возвращает 51, что является числом тегов ROOT_NODE_ID и заполняет дерево, которое я создаю.
Когда я запускаю тот же самый точный код в IE8, он даже не предупреждает.
Я в тупике.