xmlObj.responseXML.getElementsByTagName('data')[0].firstChild.data);
// updateObj('xmlData', xmlObj.responseText); // если не XML документ
}
}
Методом open открываем соединение с сервером с указанием типа передачи данных GET, URL файла данных (в нашем случае переменная file, которая была отослана как параметр функции ajaxRead - data.xml) и асинхронности (по умолчанию).
xmlObj.open ('GET', file);
В последней строке просто отсылаем пустую строку на сервер. Иначе состояние объекта XMLHttpRequest никогда не станет равным 4, то есть не будет "завершено", и страничку нельзя будет обновить. Для POST-запроса отправили бы данные.
xmlObj.send ('');
Функция обновления updateObj с помощью getElementById ищет узел по указанному ID и заменяет его содержимое. Ее первый параметр obj - ID обновляемого объекта; второй параметр data - новые данные, которые должны быть помещены в обновляемый объект obj.
function updateObj(obj, data){
document.getElementById(obj). innerHTML = "<b>"+data+"</b>"; }
//-></script>
ПОСМОТРИ РЕЗУЛЬТАТ ПРИМЕРА
Пример использования для разных браузеров:
Function loadHTML(sURL)
{
var request=null;
// пытаемся создать объект для MSXML 2 и старше
if(!request) try {
request=new ActiveXObject('Msxml2.XMLHTTP');
} catch (e){}
// не вышло... попробуем для MSXML 1
if(!request) try {
request=new ActiveXObject('Microsoft.XMLHTTP');
} catch (e){}
// не вышло... попробуем для Mozilla
if(!request) try {
request=new XMLHttpRequest();
} catch (e){}
if(!request)
// ничего не получилось...
return "";
// делаем запрос
request.open('GET', sURL, false);
request.send(null);
// возвращаем текст
return request.responseText;
}
Отправка формы при помощи Ajax(XMLHttpRequest)
Данный набор функций позволяет отправлять данные на сервер при помощи XMLHttpRequest так, что на сервере они будут восприниматься как данные обычной POST-формы. Поскольку кодирование данных осуществляет функция escapeURIComponent(), всегда используется кодировка UTF-8.
Работает в браузерах IE5.5+, Mozilla, Safari, Опере 8+.
/*
Создание XMLHttpRequest-объекта
Возвращает созданный объект или null,
Если XMLHttpRequest не поддерживается
*/
function createRequestObject() {
var request = null;
try {
request=new ActiveXObject('Msxml2.XMLHTTP');
} catch (e){}
if(!request) try {
request=new ActiveXObject('Microsoft.XMLHTTP');
} catch (e){}
if(!request) try {
request=new XMLHttpRequest();
} catch (e){}
return request;
}
/*