Angular $http status (-1)

Я вызываю бэкэнд-сервис/ресурс по AngularJs $HTTP GET. Когда он недоступен, он возвращает 404, а вкладка "Сеть Chrome" показывает, что это 404 как следующее:

Request Method:OPTIONS
Status Code:404 Not Found

НО внутри результата выражения AngularJs $HTTP, я получаю status=-1, а не 404:

{data: null, status: -1, config: Object, statusText: ""}

Почему это происходит?

NB) У меня есть служба причала на бэкэнд и включена CORS:

"Access-Control-Allow-Origin":"*"
"Access-Control-Allow-Headers": "origin, content-type, accept, authorization"
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS, HEAD"

Ответы

Ответ 1

Он возвращает -1, потому что, как показывают трассы, запрос GET даже не отправлен. То, что было отправлено, - запрос перед полетом OPTIONS, который, возвращая 404, помешал браузеру отправить фактический запрос GET.

Сервер не должен возвращать ответ 404 для запроса OPTIONS. Он должен вернуть ответ 200.