Только начал изучать AJAX, написал свой первый запрос.
Суть запроса: получить от сервера какие-нить данные, и заменить содержимое <span> этими данными.
Функция replaceText — ей заменяется текст на странице.
function replaceText(el, text) {
if (el != null) {
clearText(el);
var newNode = document.createTextNode(text);
el.appendChild(newNode);
}
}
function clearText(el) {
if (el != null) {
if (el.childNodes) {
for (var i = 0; i < el.childNodes.length; i++) {
var childNode = el.childNodes[i];
el.removeChild(childNode);
}
}
}
}
Код самого запроса:
var request = null;
function createRequest() {
try {
request = new XMLHttpRequest();
} catch (trymicrosoft) {
try {
request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (othermicrosoft) {
try {
request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (failed) {
request = null;
}
}
}
if (request == null) {
alert("Error creating request object!");
}
}
function getYears() {
createRequest();
var url = "example.php";
request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.send(null);
}
function updatePage() {
if (request.readyState == 4) {
var o = request.responseText;
var qq = document.getElementById("qop");
replaceText(qq, o);
}
}
Соответственно, на странице есть тег <span> с id=qop.
ИЕ выдает вот такую ошибку:
Сведения об ошибке на веб-странице
Сообщение: Не удалось завершить действие. Ошибка c00ce56e.
Строка: 47
Символ: 3
Код: 0
Строка 47, это:
alert("Error creating request object!");
Подскажите пожалуйста, что не так?
Пример можно посмотреть по адресу consart.ru
В опере и в ФФ работает.