Web/API/XMLHTTPRequest/timeout

From Get docs


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

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
timeout Chrome

Full support 29

Edge

Full support 12

Firefox

Full support 12

IE

Full support 8

Opera Full support 17


Full support 17


No support 12 — 16


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


Full support 18


No support 12 — 16


Safari iOS

Full support 7

Samsung Internet Android

Full support 2.0

Legend

Full support  
Full support