XMLHttpRequest: timeout property

Note: This feature is available in Web Workers, except for Service Workers.

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.


const xhr = new XMLHttpRequest();
xhr.open("GET", "/server", true);

xhr.timeout = 2000; // time in milliseconds

xhr.onload = () => {
  // Request finished. Do processing here.

xhr.ontimeout = (e) => {
  // XMLHttpRequest timed out. Do something here.



XMLHttpRequest Standard
# the-timeout-attribute

Browser compatibility

BCD tables only load in the browser