Объект XMLHttpRequest позволяет получать данные с сервера в фоновом режиме. Как правило, возвращаемая информация представляется в формате XML, но данный объект также позволяет работать с любыми текстовыми данными. Объект XMLHttpRequest впервые был реализован компанией Microsoft в виде объекта ActiveX. Сейчас он уже доступен в браузерах Mozilla, Netscape (начиная с 7-ой версии) а также в Safari (с версии 1.2), естественно, не в виде ActiveX-компоненты. Объект XMLHttpRequest представляет собой набор API функций, используемый в JavaScript, VBScipt и т.п. для передачи данных XML по протоколу HTTP.
Ниже представлены методы и свойства объекта XMLHttpRequest, общие для Internet Explorer 5+, Mozilla, Netscape 7 и Safari 1.2.
Методы объекта XMLHttpRequest:
- abort(). Обрывает текущий запрос.
- getAllResponseHeaders(). Возвращает полный набор заголовков ответа (названий и значений) в виде строки.
- getResponseHeader(<headerLabel>). Возвращает строковое значение заголовка, название которого указано в параметре. Если параметр не задан, возвращает весь заголовок. Например: xmlhttp.getResponseHeader("Last-Modified");
- open(<method>, <URL> [, <asyncFlag>[, <userName>[, <password>]]]). Открывает соединение с сервером с указанием метода передачи данных (GET, POST или HEAD); URL XML-файла данных; флага асинхронности: false - синхронно (скрипт будет ожидать ответа от сервера), true - асинхронно (по умолчанию); логина и пароля для простой веб-авторизации.
- send(<content>). Отправка запроса. Значением content могут быть данные для POST-запроса или пустая строка.
- setRequestHeader(<label>, <value>). Установка в отправляемом запросе заголовка со значением.
Свойства объекта XMLHttpRequest:
- onreadystatechange. Событие, возникающее при смене статуса объекта.
- readyState. Значения статуса. Может принимать следующие значения:
Ø 0 - не инициализирован (перед началом работы объекта),
Ø 1 - загрузка (однажды, когда идет инициализация объекта),
Ø 2 - загружен (однажды, когда получен ответ от сервера),
Ø 3 - доступен (пока объект соединен с сервером),
Ø 4 - завершен (после того, как объект выполнил все задачи).
- responseText. Строка с возвращенными сервером данными.
- responseXML. DOM-совместимый объект-документ с возвращенными сервером данными.
- status. Стандартный HTTP-код статуса. Например, 404 (для "Not Found") или 200 (для "OK").
- statusText. Текстовое сообщение статуса.
Общий план работы с объектом XMLHttpRequest можно представить следующим образом:
1. Создание экземпляра объекта XMLHttpRequest.
2. Установка обработчика события onreadystatechange.
3. Открытие соединения с сервером методом open.
4. Непосредственно отправка запроса методом send