XMLHttpRequest.timeout

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Свойство XMLHttpRequest.timeout определяет количество миллисекунд, которое запрос будет выполняться, до того, как будет автоматически прерван. Имеет размер unsigned long. Значение по умолчанию - 0, определяет, что таймаута нет. Таймаут не должен быть использован в синхронных запросах XMLHttpRequests в среде документа, или будет вызвано исключение InvalidAccessError. Когда случается таймаут - вызывается событие timeout.

Примечание: вы не можете использовать таймаут для синхронных запросов с окном - владельцем. Использование таймаута с асинхронными запросами

В Internet Explorer, свойство timeout может быть установлено только после вызова метода open() и до вызова метода send().

Пример

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

xhr.timeout = 2000; // time in milliseconds

xhr.onload = function () {
  // Запрос завершён. Здесь можно выполнить обработку.
};

xhr.ontimeout = function (e) {
  // Таймаут. Здесь можно выполнить что-нибудь..
};

xhr.send(null);

Спецификации

Specification
XMLHttpRequest Standard
# the-timeout-attribute