Я пытаюсь реализовать простой перехватчик, который позволяет мне отображать сообщение в строках «не могу связаться с сервером» в моем приложении «Угловое». Однако, поскольку API находится на другом хосте, я имею дело с запросами CORS перед полетом OPTIONS
.Можно ли перехватить ответ на предполетную опцию HTTP OPTIONS в AngularJS?
Я обнаружил, что если API является недоступным Chrome инструментов Dev показывает 503
на OPTIONS
запросу, но $http
перехватчика углового ловит в 404
ответ на последующий GET
запрос. Я считаю, что это связано с тем, что ответ OPTIONS
не содержал требуемые заголовки CORS, поэтому GET
на самом деле никогда не выполнялся.
Можно ли перехватить ответ OPTIONS
? Если все, что я вижу, это , я не могу отличить «сервер вниз» от «нет такого ресурса».
Нет, невозможно перехватить ответный сигнал перед отправкой с клиентского JavaScript. Браузер полностью контролирует этот запрос. –
Да, я подумал, что это, вероятно, так. Это расстраивает, если я не могу хотя бы увидеть код состояния HTTP. Лишает меня бессильнее обрабатывать условия ошибок полезным способом. –
Я в том же положении ... Не могу найти, как поймать бэкэнд-отказ на стороне клиента. – maxdec