AngularJS $ http возвращает код состояния 0 из неудачного запроса CORS

Хорошо, я посмотрел на все это. В основном мы используем $ http-запрос, который является междоменным. Наш сервер разрешает домен и когда запрос возвращает 200, все в порядке. Однако каждый раз, когда наш сервер возвращает ошибку 500, 401, что угодно, Angular считает, что это проблема CORS.

Я отладил ответ с помощью Fiddler, чтобы убедиться, что мой сервер возвращает 500, но Angular его подавляет.

Вот запрос:

       var params = {
            url: "fakehost/example",
            method: 'GET',
            headers: {
                "Authorization": "Basic encodedAuthExample"
            }
        };

       $http(params).then(
            function (response) { // success 

            },
            function (error) { // error 
                 // error.status is always 0, never includes data error msg
            });

Тогда в консоли я увижу это:

XMLHttpRequest не может загрузить поддельный хост / пример. В запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Источник 'mylocalhost: 5750', следовательно, не имеет доступа.

Тем не менее, в Fiddler, истинный ответ:

HTTP/1.1 500 Internal Server Error
Cache-Control: no-cache
Pragma: no-cache
Content-Type: application/json; charset=utf-8
Expires: -1
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Tue, 26 Aug 2014 12:18:17 GMT
Content-Length: 5683

{"errorId":null,"errorMessage":"Index was outside the bounds of the array.","errorDescription":"Stack trace here"}

Я на AngularJS v1.2.16

Ответы на вопрос(1)

Ваш ответ на вопрос