Объект 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
-
прервать ()
Отменяет текущий запрос.
-
getAllResponseHeaders ()
Возвращает полный набор заголовков HTTP в виде строки.
-
getResponseHeader (headerName)
Возвращает значение указанного HTTP-заголовка.
-
открыть (метод, URL)
-
открыть (метод, URL, асинхронный)
-
открыть (метод, URL, асинхронный, имя пользователя)
-
открыть (метод, URL, асинхронный, имя пользователя, пароль)
Определяет метод, URL и другие необязательные атрибуты запроса.
Параметр метода может иметь значение «GET», «POST» или «HEAD». Могут быть возможны другие методы HTTP, такие как «PUT» и «DELETE» (в основном используемые в приложениях REST).
Параметр «async» указывает, должен ли запрос обрабатываться асинхронно или нет. «true» означает, что обработка сценария продолжается после метода send () без ожидания ответа, а «false» означает, что сценарий ожидает ответа, прежде чем продолжить обработку сценария.
-
отправить (содержание)
Отправляет запрос.
-
setRequestHeader (метка, значение)
Добавляет пару метка / значение в заголовок HTTP для отправки.
прервать ()
Отменяет текущий запрос.
getAllResponseHeaders ()
Возвращает полный набор заголовков HTTP в виде строки.
getResponseHeader (headerName)
Возвращает значение указанного HTTP-заголовка.
открыть (метод, URL)
открыть (метод, URL, асинхронный)
открыть (метод, URL, асинхронный, имя пользователя)
открыть (метод, URL, асинхронный, имя пользователя, пароль)
Определяет метод, URL и другие необязательные атрибуты запроса.
Параметр метода может иметь значение «GET», «POST» или «HEAD». Могут быть возможны другие методы HTTP, такие как «PUT» и «DELETE» (в основном используемые в приложениях REST).
Параметр «async» указывает, должен ли запрос обрабатываться асинхронно или нет. «true» означает, что обработка сценария продолжается после метода send () без ожидания ответа, а «false» означает, что сценарий ожидает ответа, прежде чем продолжить обработку сценария.
отправить (содержание)
Отправляет запрос.
setRequestHeader (метка, значение)
Добавляет пару метка / значение в заголовок HTTP для отправки.
Свойства XMLHttpRequest
-
onreadystatechange
Обработчик события, которое срабатывает при каждом изменении состояния.
-
readyState
Свойство readyState определяет текущее состояние объекта XMLHttpRequest.
В следующей таблице приведен список возможных значений свойства readyState.
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, который можно изучить и проанализировать с помощью методов и свойств дерева узлов DOM W3C.
статус
Возвращает статус в виде числа (например, 404 для «Не найдено» и 200 для «ОК»).
его статус
Возвращает статус в виде строки (например, «Не найдено» или «ОК»).