Учебники

AJAX — XMLHttpRequest

Объект 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 для «ОК»).

его статус

Возвращает статус в виде строки (например, «Не найдено» или «ОК»).