<сильный>1. Немного информации
У меня есть клиентское приложение AngularJS 1.3.15, отправляющее запросы к моему loopback API.
В приложении я перехватываю результаты запроса (с помощью $httpProvider.interceptors) и интерпретирую коды состояния для отображения осмысленных сообщений, когда пользователь что-то делает — например, я перехватываю 401 ответ, сообщающий пользователю, что у него нет авторизации, 200 — когда он сохраняет что-то успешно и так далее.
<сильный>2. Проблема
Например, если пользователь попытается загрузить слишком большое изображение, полезная нагрузка запроса превысит мой предел удаленного взаимодействия, и я смогу перехватить requestError, но код состояния всегда показывает 0. Глядя на консоль браузера, я вижу это:
PUT http://localhost:3000/api/Modules?id=9 413 (Request Entity Too Large)
XMLHttpRequest cannot load http://localhost:3000/api/Modules?id=9. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. The response had HTTP status code 413.
Проблема в том, что если сервер отключен, я также получаю код состояния 0 при перехвате requestError, поэтому я не могу отличить ошибку подключения к серверу от ошибки отправки слишком большого количества данных.
Есть ли вероятность, что проблема связана с промежуточным программным обеспечением экспресс-маршрутизатора? Я не могу найти никого, у кого была бы такая же проблема...