JavaScript свойство XMLHttpRequest.upload

Определение и применение

JavaScript свойство upload объекта XMLHttpRequest возвращает объект XMLHttpRequestUpload, который определяет набор свойств регистрации обработчиков событий для отслеживания процесса выгрузки тела HTTP запроса.

Следующие события могут быть запущены на объекте upload и использоваться для мониторинга загрузки:

СобытиеОбработчик событияОписание
loadstartonloadstartВызывается когда операция выгрузка началась.
progressonprogressВызывается периодически (примерно раз в 50 миллисекунд) в ходе операции выгрузки.
abortonabortВызывается при прерывании операции выгрузки.
erroronerrorВызывается, когда в процессе операции выгрузки возникает сетевая ошибка.
loadonloadВызывается в случае успешного завершения операции выгрузки.
timeoutontimeoutВызывается, если истекло время ожидания, определяемое свойством timeout объекта XMLHttpRequest.
loadendonloadendВызывается в случае успешного или неудачного завершения операции выгрузки (это событие не различает успех или неудачу и отправляется в конце загрузки независимо от результата). Событие loadend всегда следует за событиями load, abort, error и timeout.

Поддержка браузерами

Спецификация: xhr.spec.whatwg

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьapi.XMLHttpRequest.upload
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
upload✓2✓12✓3.5✓≤12.1✓4✓18✓4✓≤12.1✓3✓1.0✓4.4✓3

поддерживается с ограничениями нет поддержки нет данных≤31 — не позднее версии 31

JavaScript синтаксис:

JavaScript
XMLHttpRequest.upload;

Cпецификация

XMLHttpRequest

Пример использования

JavaScript
let xhr = new XMLHttpRequest(); // инициализируем только что созданный запрос
xhr.open("GET", "http://test.com/"); // определяем параметры для запроса 

// добавляем обработчики событий 
xhr.upload.addEventListener("progress", updateProgress); 
xhr.upload.addEventListener("load", updateComplete);
xhr.upload.addEventListener("error", updateFailed);
xhr.upload.addEventListener("abort", updateCanceled);

xhr.send(); // отправляем запрос на сервер