Spec-Zone.ru › Web APIs

XMLHttpRequest

Базовая Широко доступная *

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

* Некоторые части этой функции могут иметь различный уровень поддержки.

  • Узнать больше
  • Показать полную совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Web Workers, за исключением Service Workers.

XMLHttpRequest (XHR) объекты используются для взаимодействия с серверами. Вы можете извлекать данные из URL-адреса, не перезагружая всю страницу. Это позволяет веб-странице обновлять только часть страницы без прерывания действий пользователя.

EventTarget XMLHttpRequestEventTarget XMLHttpRequest

Несмотря на свое название, XMLHttpRequest может использоваться для извлечения любого типа данных, а не только XML.

Если ваше взаимодействие должно включать получение данных событий или данных сообщений от сервера, рассмотрите использование событий, отправляемых сервером через EventSource интерфейс. Для полнодуплексного взаимодействия WebSockets может быть лучшим выбором.

Конструктор

XMLHttpRequest()

Конструктор инициализирует XMLHttpRequest. Его необходимо вызвать перед любыми другими вызовами методов.

Свойства экземпляра

Этот интерфейс также наследует свойства XMLHttpRequestEventTarget и EventTarget.

XMLHttpRequest.readyState Только для чтения

Возвращает число, представляющее состояние запроса.

XMLHttpRequest.response Только для чтения

Возвращает ArrayBuffer, Blob, Document, объект JavaScript или строку, в зависимости от значения XMLHttpRequest.responseType, содержащую тело сущности ответа.

XMLHttpRequest.responseText Только для чтения

Возвращает строку, содержащую текст ответа на запрос, или null , если запрос не удался или еще не отправлен.

XMLHttpRequest.responseType

Определяет тип ответа.

XMLHttpRequest.responseURL Только для чтения

Возвращает сериализованный URL ответа или пустую строку, если URL равен null.

XMLHttpRequest.responseXML Только для чтения

Возвращает Document, содержащий ответ на запрос, или null , если запрос не удался, еще не был отправлен или не может быть распарсен как XML или HTML. Не доступно в Web Workers.

XMLHttpRequest.status Только для чтения

Возвращает код состояния HTTP ответа запроса.

XMLHttpRequest.statusText Только для чтения

Возвращает строку, содержащую строку ответа, возвращенную HTTP-сервером. В отличие от XMLHttpRequest.status, она включает весь текст сообщения ответа ("OK", например).

Примечание: Согласно спецификации HTTP/2 RFC 7540, раздел 8.1.2.4: Поля псевдозаголовков ответа, HTTP/2 не определяет способ передачи версии или фразы причины, которые включены в строку состояния HTTP/1.1.

XMLHttpRequest.timeout

Время в миллисекундах, которое запрос может занимать, прежде чем автоматически будет завершен.

XMLHttpRequest.upload Только для чтения

XMLHttpRequestUpload представляющий процесс загрузки.

XMLHttpRequest.withCredentials

Возвращает true , если межсайтовые Access-Control запросы должны выполняться с использованием учетных данных, таких как куки или заголовки авторизации; в противном случае false.

Нестандартные свойства

XMLHttpRequest.channel Только для чтения

Канал, используемый объектом при выполнении запроса.

XMLHttpRequest.mozAnon Только для чтения

Булево значение. Если true, запрос будет отправлен без куки и заголовков аутентификации.

XMLHttpRequest.mozSystem Только для чтения

Булево значение. Если true, политика одного происхождения не будет применяться к запросу.

XMLHttpRequest.mozBackgroundRequest

Булево значение. Указывает, представляет ли объект запрос фоновой службы.

Методы экземпляра

XMLHttpRequest.abort()

Прерывает запрос, если он уже был отправлен.

XMLHttpRequest.getAllResponseHeaders()

Возвращает все заголовки ответа, разделенные CRLF, в виде строки, или null если ответ еще не получен.

XMLHttpRequest.getResponseHeader()

Возвращает строку, содержащую текст указанного заголовка, или null , если ответ еще не получен или заголовок не существует в ответе.

XMLHttpRequest.open()

Инициализирует запрос.

XMLHttpRequest.overrideMimeType()

Переопределяет тип MIME, возвращаемый сервером.

XMLHttpRequest.send()

Отправляет запрос. Если запрос асинхронный (что является по умолчанию), этот метод возвращается как только запрос отправлен.

XMLHttpRequest.setAttributionReporting() Безопасный контекст Экспериментальный

Указывает, что вы хотите, чтобы ответ запроса смог зарегистрировать источник атрибуции или вызвать событие.

XMLHttpRequest.setRequestHeader()

Устанавливает значение заголовка HTTP запроса. Вам нужно вызвать setRequestHeader() после open(), но до send().

События

abort

Срабатывает, когда запрос был прерван, например, из-за вызова программы XMLHttpRequest.abort(). Также доступен через свойство обработчика событий onabort.

error

Срабатывает, когда запрос столкнулся с ошибкой. Также доступен через свойство обработчика событий onerror.

load

Срабатывает, когда успешная транзакция XMLHttpRequest завершена. Также доступен через свойство обработчика событий onload.

loadend

Срабатывает, когда запрос завершен, будь то успешно (после load) или неуспешно (после abort или error). Также доступен через свойство обработчика событий onloadend.

loadstart

Срабатывает, когда запрос начал загружать данные. Также доступен через свойство обработчика событий onloadstart.

progress

Срабатывает периодически, когда запрос получает больше данных. Также доступен через свойство обработчика событий onprogress.

readystatechange

Срабатывает всякий раз, когда изменяется свойство readyState. Также доступен через свойство обработчика событий onreadystatechange.

timeout

Срабатывает, когда выполнение прерывается из-за истечения установленного времени. Также доступен через свойство обработчика событий ontimeout.

Спецификации

Спецификация
XMLHttpRequest
# interface-xmlhttprequest

Совместимость с браузерами

Настольный Мобильный
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
XMLHttpRequest 1 12 1 ≤12.1 3 18 4 ≤12.1 1 1.0 4.4
XMLHttpRequest 1 12 1 8 1.2 18 4 10.1 1 1.0 ≤37
abort 1 12 1 ≤12.1 1.2 18 4 ≤12.1 1 1.0 4.4
abort_event 1 12 3.5 ≤12.1 1.3 18 4 ≤12.1 1 1.0 ≤37
authorization_removed_cross_origin Нет Нет 111 Нет 16.1 Нет 111 Нет 16.1 Нет Нет
error_event 1 12 1 ≤12.1 1.3 18 4 ≤12.1 1 1.0 ≤37
getAllResponseHeaders 1 12
1Начиная с Firefox 49, пустые заголовки возвращаются как пустые строки, если параметр network.http.keep_empty_response_headers_as_empty_string установлен в true, по умолчанию false. До Firefox 49 пустые заголовки игнорировались. Начиная с Firefox 50 параметр по умолчанию true.
≤12.1 1.2 18
4Начиная с Firefox для Android 49, пустые заголовки возвращаются как пустые строки, если параметр network.http.keep_empty_response_headers_as_empty_string установлен в true, по умолчанию false. До Firefox для Android 49 пустые заголовки игнорировались. Начиная с Firefox для Android 50 параметр по умолчанию true.
≤12.1 1 1.0 4.4
getResponseHeader 1 12
1Начиная с Firefox 49, пустые заголовки возвращаются как пустые строки, если параметр network.http.keep_empty_response_headers_as_empty_string установлен в true, по умолчанию false. До Firefox 49 пустые заголовки игнорировались. Начиная с Firefox 50 параметр по умолчанию true.
8 1.2 18
4Начиная с Firefox для Android 49, пустые заголовки возвращаются как пустые строки, если параметр network.http.keep_empty_response_headers_as_empty_string установлен в true, по умолчанию false. До Firefox для Android 49 пустые заголовки игнорировались. Начиная с Firefox для Android 50 параметр по умолчанию true.
10.1 1 1.0 4.4
load_event 1 12 1 ≤12.1 1.3 18 4 ≤12.1 1 1.0 ≤37
loadend_event 18 12 5 ≤12.1 4 18 5 ≤12.1 3 1.0 4.4
loadstart_event 1 12 3.5 ≤12.1 1.3 18 4 ≤12.1 1 1.0 4.4
open 1 12
1Начиная с Firefox 30, синхронные запросы в основном потоке устарели из-за их негативного влияния на производительность и пользовательский опыт. Поэтому параметр async не может быть false за исключением Worker.
8 1.2 18
4Начиная с Firefox для Android 30, синхронные запросы в основном потоке устарели из-за их негативного влияния на производительность и пользовательский опыт. Поэтому параметр async не может быть false за исключением Worker.
10.1 1 1.0 4.4
overrideMimeType 1 12 1 ≤12.1 1.2 18 4 ≤12.1 1 1.0 4.4
progress_event 1 12 1 ≤12.1 3 18 4 ≤12.1 1 1.0 ≤37
readyState 1 12 1 8 1.2 18 4 10.1 1 1.0 4.4
readystatechange_event 1 12 1 9 1.2 18 4 10.1 1 1.0 4.4
response 9 12 6 11.6 5.1 18 6 12 5 1.0 3
responseText 1 12 1 8 1.2 18 4 10.1 1 1.0 4.4
responseType 31 12 6 1812–15 5.1 31 50 1812–14 5 2.0 4.4.3
responseURL 37 14 32 24 8 37 32 24 8 3.0 37
responseXML 1 12
1Перед Firefox 51 при ошибке парсинга полученных данных добавлялся узел <parsererror> в начало Document, а затем возвращалось значение Document в любом состоянии. Это не соответствовало спецификации. Начиная с Firefox 51, в этом случае теперь правильно возвращается значение null в соответствии со спецификацией.
≤12.1 3 18
4Перед Firefox для Android 51 при ошибке парсинга полученных данных добавлялся узел <parsererror> в начало Document, а затем возвращалось значение Document в любом состоянии. Это не соответствовало спецификации. Начиная с Firefox для Android 51, в этом случае теперь правильно возвращается значение null в соответствии со спецификацией.
≤12.1 1 1.0 ≤37
send 1 12 1 8 1.2 18 4 10.1 1 1.0 4.4
setAttributionReporting 125 125 Нет 111 Нет 125 Нет 83 Нет 27.0 125
setPrivateToken 117 117 Нет 103 Нет 117 Нет 78 Нет 24.0 117
setRequestHeader 1 12 1 8 1.2 18 4 10.1 1 1.0 4.4
status 1 12 1 8 1.2 18 4 10.1 1 1.0 4.4
statusText 1 12 1 ≤12.1 1.2 18 4 ≤12.1 1 1.0 4.4
timeout 29 12 12 1712–16 7 29 14 1812–16 7 2.0 4.4
timeout_event 29 12 12 16 7 29 14 16 7 1.0 4.4
upload 2 12 3.5 ≤12.1 4 18 4 ≤12.1 3 1.0 4.4
withCredentials 3 12
3.5Начиная с Firefox 11, использование атрибута withCredentials при выполнении синхронных запросов больше не поддерживается. Попытка сделать это вызывает исключение NS_ERROR_DOM_INVALID_ACCESS_ERR.
12 4 18
4Начиная с Firefox для Android 14, использование атрибута withCredentials при выполнении синхронных запросов больше не поддерживается. Попытка сделать это вызывает исключение NS_ERROR_DOM_INVALID_ACCESS_ERR.
12 3.2 1.0 ≤37
worker_support 4 12 3.5 10.6 4 18 4 11 5 1.0 4

См. также

  • XMLSerializer: Сериализация дерева DOM в XML
  • Использование XMLHttpRequest
  • API Fetch

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API