Я довольно новичок в Ajax.Я пытаюсь поместить некоторые конкретные части файла XML в div на моей странице, и в каждом последнем браузере, кроме IE, работает следующее:
var xhr = false;
//Executed to request content from the server
function setContent(){
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
} else {
if(window.ActiveXObject){
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
xhr.onreadystatechange = showContent;
xhr.open("GET", "ajax/art.xml", true);
xhr.send(null);
}
//Executed to set the appropriate text once the server has gathered the data
function showContent(){
if(xhr.readyState == 4){
if(xhr.status == 200 || window.location.href.indexOf("http") == -1){
var newData = xhr.responseXML.getElementsByTagName(curPage).textContent;
}
var textBox = document.getElementById("textBox");
textBox.innerHTML = newData;
}
}
(значение curPage установлено в другом месте вкод и, кажется, имеет правильное значение) Когда я выполняю этот код в IE на сервере, я получаю слово «неопределенный» в Div textBox вместо содержимого, извлеченного из документа XML.Как мне решить эту проблему?
Заранее спасибо <> <</p>
Спасибо Бобинсу, но это тоже не сработает.
Это интересная заметкао текстовом содержании.Я попытался:
if(xhr.responseXML.getElementsByTagName(allPages[curPage])[curStage].textContent != undefined){
var newText = xhr.responseXML.getElementsByTagName(curPage)[curStage].textContent;
} else {
var newText = xhr.responseXML.getElementsByTagName(curPage)[curStage].innerText
}
}
, поскольку innerText должен работать во всех браузерах, кроме FF, а textContent должен работать во всех браузерах, кроме IE, но я все равно получаю "undefined" в IE.
Кроме того, еслиЯ просто использую innerText и забываю о совместимости с FF, я получаю "undefined" в каждом браузере, а не только в IE.
Не уверен, как это исправить ...
Вот живой сайт, если этоhelp: www.tcmulder.com / art
(О, и обратите внимание, я использую (curPage) [curStage], исправляет первую проблему, которую вы заметили)