http.post всегда вводит обратный вызов ошибки в IE8

У меня есть простой сервис Angular, который отлично работает в FireFox, Safari, Chrome и IE9+.

Однако для IE8 служба всегда выполняет обратный вызов .error.

JS:

myService.authUser($scope.data)
    .success(function(data, status, headers, config) {
        console.log("Success..");
        $scope.showProfile = true;
    })
    .error(function (data, status, headers, config) {
        console.log("ERRROR!!!");
        $scope.errorText = true;
    })

app.service('myService', function($http) {


    this.authUser = function (myData) {
        return $http({
            url: 'url',
            method: "POST",
            data: angular.toJson(myData),
            headers: {
                'Content-Type': 'application/json'
            }
        });
    };
});

В приведенном выше сценарии IE8 всегда регистрирует ОШИБКУ!!!


person Oam Psy    schedule 13.07.2015    source источник


Ответы (1)


Убедитесь, что URL-адрес, на который вы нажимаете, отвечает правильным кодом состояния, например: 200, 404 и т. д.

Например, если ваш бэкэнд .NET MVC

public ActionResult TestError(string id) // id = error code{
Response.StatusCode = 400; // Replace .AddHeader
var error = new Error();  // Create class Error() w/ prop
error.ErrorID = 123;
error.Level = 2;
error.Message = "You broke the Internet!";

return Json(error, JsonRequestBehavior.AllowGet);}
person Phil Kearney    schedule 13.07.2015