AngularJS $ http retorna o código de status 0 da solicitação CORS com falha

Ok, eu procurei por tudo isso. Basicamente, estamos usando a solicitação $ http que SÃO solicitações entre domínios. Nosso servidor permite o domínio e, quando uma solicitação retorna 200, tudo está OK. No entanto, sempre que nosso servidor retornar um erro, 500, 401, o que for, Angular acha que é um problema de CORS.

Depurei a resposta com o Fiddler para verificar se meu servidor está retornando um 500, mas o Angular engasga com ele.

Aqui está o pedido:

       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
            });

Então, no console, vou ver o seguinte:

XMLHttpRequest não pode carregar fakehost / example. Nenhum cabeçalho 'Access-Control-Allow-Origin' está presente no recurso solicitado. A origem 'mylocalhost: 5750' não é, portanto, permitido o acesso.

No entanto, no violinista, a verdadeira resposta é:

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"}

Estou no AngularJS v1.2.16

questionAnswers(1)

yourAnswerToTheQuestion