The XMLHttpRequest.timeout property is an unsigned long representing the number of milliseconds a request can take before automatically being terminated. The default value is 0, which means there is no timeout. Timeout shouldn't be used for synchronous XMLHttpRequests requests used in a document environment or it will throw an InvalidAccessError exception. When a timeout happens, a timeout event is fired.
-
Note: You may not use a timeout for synchronous requests with an owning window.
- Using a timeout with an asynchronous request
In Internet Explorer, the timeout property may be set only after calling the open() method and before calling the send() method.
Example
var xhr = new XMLHttpRequest();
xhr.open('GET', '/server', true);
xhr.timeout = 2000; // time in milliseconds
xhr.onload = function () {
// Request finished. Do processing here.
};
xhr.ontimeout = function (e) {
// XMLHttpRequest timed out. Do something here.
};
xhr.send(null);
Specifications
| Specification | Status | Comment |
|---|---|---|
| XMLHttpRequest | Living Standard | WHATWG living standard |
Browser compatibility
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
timeout | Chrome Full support 29 | Edge Full support 12 | Firefox Full support 12 | IE Full support 8 | Opera
Full support
17
| Safari Full support 6.1 | WebView Android Full support ≤37 | Chrome Android Full support 29 | Firefox Android Full support 14 | Opera Android
Full support
18
| Safari iOS Full support 7 | Samsung Internet Android Full support 2.0 |
Legend
- Full support
- Full support
