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 для «ОК»).

его статус

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


Поділитись