Spec-Zone.ru › Web APIs

XMLHttpRequest: событие error

Базовая поддержка Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в рабочих потоках, за исключением сервисных рабочих потоков.

Событие error срабатывает, когда запрос столкнулся с ошибкой.

Синтаксис

Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика события.

addEventListener("error", (event) => {});

onerror = (event) => {};

Тип события

Объект ProgressEvent. Наследуется от Event.

Событие ProgressEvent

Свойства события

Помимо перечисленных ниже свойств, доступны свойства из родительского интерфейса Event.

lengthComputable Только для чтения

Флаг булевого типа, указывающий, можно ли вычислить общий объем работы, выполняемой базовым процессом, и объем уже выполненной работы. Другими словами, он указывает, можно ли измерить прогресс или нет.

loaded Только для чтения

Значение 64-битного беззнакового целого числа, указывающее объем работы, уже выполненной базовым процессом. Пропорцию выполненной работы можно вычислить, разделив значение этого свойства на total. При загрузке ресурса с помощью HTTP это значение учитывает только тело HTTP-сообщения и не включает заголовки и другие накладные расходы.

total Только для чтения

64-битное беззнаковое целое число, представляющее общий объем работы, выполняемой базовым процессом. При загрузке ресурса с помощью HTTP это значение равно Content-Length (размер тела сообщения) и не включает заголовки и другие накладные расходы.

Примеры

Пример

HTML

<div class="controls">
  <input
    class="xhr success"
    type="button"
    name="xhr"
    value="Click to start XHR (success)" />
  <input
    class="xhr error"
    type="button"
    name="xhr"
    value="Click to start XHR (error)" />
  <input
    class="xhr abort"
    type="button"
    name="xhr"
    value="Click to start XHR (abort)" />
</div>

<textarea readonly class="event-log"></textarea>

JavaScript

const xhrButtonSuccess = document.querySelector(".xhr.success");
const xhrButtonError = document.querySelector(".xhr.error");
const xhrButtonAbort = document.querySelector(".xhr.abort");
const log = document.querySelector(".event-log");

function handleEvent(e) {
  log.textContent = `${log.textContent}${e.type}: ${e.loaded} bytes transferred\n`;
}

function addListeners(xhr) {
  xhr.addEventListener("loadstart", handleEvent);
  xhr.addEventListener("load", handleEvent);
  xhr.addEventListener("loadend", handleEvent);
  xhr.addEventListener("progress", handleEvent);
  xhr.addEventListener("error", handleEvent);
  xhr.addEventListener("abort", handleEvent);
}

function runXHR(url) {
  log.textContent = "";

  const xhr = new XMLHttpRequest();
  addListeners(xhr);
  xhr.open("GET", url);
  xhr.send();
  return xhr;
}

xhrButtonSuccess.addEventListener("click", () => {
  runXHR("example-image.jpg");
});

xhrButtonError.addEventListener("click", () => {
  runXHR("https://example.com/notfound.jpg");
});

xhrButtonAbort.addEventListener("click", () => {
  runXHR("example-image.jpg").abort();
});

Результат

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

Спецификация
XMLHttpRequest
# event-xhr-error
XMLHttpRequest
# handler-xhr-onerror

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
error_event 1 12 1 ≤12.1 1.3 18 4 ≤12.1 1 1.0 ≤37

См. также

  • Связанные события: loadstart, load, progress, loadend, abort
  • Отслеживание прогресса

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/error_event

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API