@ImagoGroup

XMLHttpRequest в try catch safari (local)

try {
this.xmlHttpRequest = new XMLHttpRequest();
this.xmlHttpRequest.onreadystatechange = this.onReadyStateChangeHandler_;
this.xmlHttpRequest.open('GET', this.url, this.async_);
this.xmlHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;');
this.xmlHttpRequest.send(null);
} catch(error) {
Alert('error')
}


При открытии канала к файлу this.xmlHttpRequest.open('GET', this.url, this.async_); если:
1. Запрос асинхронный;
2. Загрузка происходит в locale;
3. Файл по указанному url отсутствует;
4. Браузер Safari || Chrome (last version).

Блок try catch не отрабатывает, XMLHttpRequest вызывает onreadystatechange с readyState == 4, status == 0, statusText=='', responseText==''.
Подскажите как побороть и отловить ошибку не корректного url при асинхронном запросе.
  • Вопрос задан
  • 2873 просмотра
Пригласить эксперта
Ответы на вопрос 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Тоже сталкивался, в Chrome, при написании расширений. В итоге ловил status == 0 && responseText == "". Очень интересно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы