В настоящее время у меня есть это:Angular - Как правильно обрабатывать HTTP-ошибку с сервера?
$http({
method: 'POST',
url: 'http://api-endpoint/somescript/',
data: formData,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
.then(function (response) {
console.log(response);
});
Если скрипт на другом конце работает нормально, then
вызывается. Однако предположим, что сценарий на сервере имеет некоторую ошибку, которая не была правильно поймана. Если я делаю ошибку, бросая в какой-то мусорный вызова, как asdfasdf()
, функция then
не называется, а вместо этого я получаю это в консоли браузера:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading
the remote resource at http://api-endpoint/somescript/. (Reason: CORS
header 'Access-Control-Allow-Origin' missing).
Как поймать это в угловом коде так Я могу справиться с этим по-дружески?
EDIT: Это не дубликат, так как он специфичен для углового.
Спасибо! Было бы неправильно добавить весь этот код перехватчика для чего-то такого простого. – CaptSaltyJack
@CaptSaltyJack Нет проблем, рад, что это помогло, и я надеюсь, что это тоже поможет другим :) – Matt
@CaptSaltyJack - Ну, я не согласен с тобой. Это будет выглядеть более неправильно, если у вас есть 100 API-интерфейсов, и вы должны написать вторую функцию каждый раз. Таким образом, общая обработка - это лучшее, что мы можем сделать для нашего кода. Хотя в вашем случае у вас было только 1 API на данный момент, когда вы хотите выполнять обработку ошибок, поэтому это второе решение функции хорошо подходит. – nikhil