Web/API/XMLHTTPRequest/upload

From Get docs


The XMLHttpRequest upload property returns an XMLHttpRequestUpload object that can be observed to monitor an upload's progress. It is an opaque object, but because it's also an XMLHttpRequestEventTarget, event listeners can be attached to track its process.

The following events can be triggered on an upload object and used to monitor the upload:

Event Event listener Description
loadstart onloadstart The upload has begun.
progress onprogress Periodically delivered to indicate the amount of progress made so far.
abort onabort The upload operation was aborted.
error onerror The upload failed due to an error.
load onload The upload completed successfully.
timeout ontimeout The upload timed out because a reply did not arrive within the time interval specified by the XMLHttpRequest.timeout.
loadend onloadend The upload finished. This event does not differentiate between success or failure, and is sent at the end of the upload regardless of the outcome. Prior to this event, one of load, error, abort, or timeout will already have been delivered to indicate why the upload ended.

Specifications

Specification Status Comment
XMLHttpRequest Living Standard WHATWG living standard

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
upload Chrome

Full support 1

Edge

Full support 12

Firefox

Full support Yes

IE

Full support 10

Opera

Full support Yes

Safari

Full support 10

WebView Android

Full support Yes

Chrome Android

Full support 18

Firefox Android

Full support Yes

Opera Android

Full support Yes

Safari iOS

Full support Yes

Samsung Internet Android

Full support 1.0

Legend

Full support  
Full support


See also