Объект XMLHttpRequest является ключом к AJAX. Он был доступен с тех пор, как Internet Explorer 5.5 был выпущен в июле 2000 года, но не был полностью обнаружен, пока AJAX и Web 2.0 в 2005 году не стали популярными.
XMLHttpRequest (XHR) - это API, который может использоваться JavaScript, JScript, VBScript и другими языками сценариев веб-браузера для передачи и обработки XML-данных на веб-сервер и с веб-сервера с использованием HTTP, создания независимого канала соединения между клиентской стороной веб-страницы и Серверное.
Данные, возвращаемые из запросов XMLHttpRequest, часто будут предоставляться базами данных. Кроме XML, XMLHttpRequest может использоваться для извлечения данных в других форматах, например JSON или даже в виде обычного текста.
Вы уже видели несколько примеров того, как создать объект XMLHttpRequest.
Ниже перечислены некоторые из методов и свойств, с которыми вам нужно ознакомиться.
Методы XMLHttpRequest
- abort() Отменяет текущий запрос.
- getAllResponseHeaders() Возвращает полный набор заголовков HTTP в виде строки.
- getResponseHeader(headerName) Возвращает значение указанного HTTP-заголовка.
- open(method,URL) open(method, URL, async) open(method, URL, async, userName) open(method, URL, async, userName, password) Указывает метод, URL и другие необязательные атрибуты запроса. Параметр метода может иметь значение «GET», «POST» или «HEAD». Могут быть возможны другие HTTP-методы, такие как «PUT» и «DELETE» (в основном используемые в приложениях REST). Параметр «async» указывает, следует ли обрабатывать запрос асинхронно или нет. «true» означает, что обработка сценария продолжается после метода send (), не дожидаясь ответа, а «false» означает, что скрипт ожидает ответа до продолжения обработки скрипта.
- send(content) Отправляет запрос.
- setRequestHeader(label, value) Добавляет пару label / value в HTTP-заголовок, который нужно отправить.
Свойства XMLHttpRequest
- onreadystatechange Обработчик событий для события, которое срабатывает при каждом изменении состояния.
- readyState
Свойство readyState определяет текущее состояние объекта XMLHttpRequest.
В следующей таблице приведен список возможных значений для свойства readyState:
Состояние Описание 0 Запрос не инициализирован. 1 Запрос был настроен. 2 Запрос отправлен. 3 Запрос находится в процессе. 4 Запрос завершен. readyState = 0 После того, как вы создали объект XMLHttpRequest, но до того, как вы вызвали метод open().
readyState = 1 После того, как вы вызвали метод open(), но перед вызовом send().
readyState = 2 После того, как вы вызвали send().
readyState = 3 После того, как браузер установил связь с сервером, но до того, как сервер завершит ответ.
readyState = 4 После того, как запрос был завершен, и данные ответа были полностью получены с сервера.
- responseText Возвращает ответ как строку.
- responseXML Возвращает ответ как XML. Это свойство возвращает объект документа XML, который может быть проанализирован и проанализирован с использованием методов и свойств дерева узлов W3C DOM.
- status Возвращает статус как число (например, 404 для «Не найдено» и 200 для «ОК»).
- statusText Возвращает статус как строку (например, «Не найдено» или «ОК»).