Когда запрос AJAX отправляется на сайт, ошибки на стороне сервера легко обрабатываются с помощью подхода обещания jQuery. .done()
, .fail()
и т.д. Однако для некоторых запросов (например, к недопустимому сайту или к тому, который не принимает запросы с кросс-началом), исключение происходит сразу же после вызова. Вот пример одной ошибки в консоли:
XMLHttpRequest не может загрузить
http://someotherserver/api/blahblah
. происхожденияhttp://localhost:52625
не допускается с помощью Access-Control-Allow-Origin.
Да, я знаю о CORS... это не проблема. То, что я на самом деле делаю, - это попытку вызова веб-api для проверки правильности IP-адреса сервера.
Я знаю параметр error
в синтаксисе запроса jQuery:
$.ajax({
url: remoteURL,
type: 'GET',
error: function (err) {
console.log("AJAX error in request: " + JSON.stringify(err, null, 2));
}
}).etc.etc.
Ошибка обрабатывается здесь, но исключения все еще регистрируются в консоли. Казалось разумным обернуть это выше в блоке try-catch
, но это, похоже, не помогает.
Я нашел этот вопрос, но решение включает взлом кода jQuery. Наверняка есть лучший способ поймать эти ошибки и не засорить журналы консоли?