javascript - angularjs拦截器:why is it not receiving the proper status code and message in $http interceptor

标签 javascript angularjs xmlhttprequest http-status-code-503

我正在使用 $http 发出一个简单的获取请求.并且失败并显示 503-service unavailable错误清楚地显示在网络选项卡中。但是 rejection responseError 中的对象拦截器对象显示status: 0 .

这是我的拦截器

angular.module("app", []).config(function($httpProvider){
$httpProvider.interceptors.push(function($q) {
  return {
   'responseError': function(rejection) {
       console.log(rejection);
    }
  }
})
});

我正在等待状态代码 503在拦截器中,但我得到 0 .请帮助我理解并解决问题。

Here是一个说明问题的 fiddle 。

该请求是跨域请求。

最佳答案

您正在使用的服务确实会返回任何数据。 Angular $http 期望返回一些数据,在这种情况下,“GetStatusCode”只是停止并且不返回任何内容。

此外,仅供引用 - 您的 fiddle 不尊重 Angular 绑定(bind)到 Controller 的方法,该方法需要 Controller 名称的字符串。

参见http://plnkr.co/edit/x46D5FIsgaKsaSocYjpz?p=preview为了正确的标记..我们将 Controller 命名为字符串,例如:

angular.module("plunker", [])

    .config(function ($httpProvider) {
        $httpProvider.interceptors.push(function () {
            return {
                'responseError': function (rejection) {
                    console.log('rejection = ', rejection);
                },
                'response': function (response) {
                    console.log('response = ', response);
                }
            }
        })
    })

    .controller('Controller', function Controller($scope, $http) {
        $scope.getCode = function () {
            var req = 'http://www.reddit.com/r/catpictures.json?limit=50&jsonp=JSON_CALLBACK';
            return $http.jsonp(req);
        };
        $scope.get = function () {
            return $scope.getCode()
        };
    })
;

关于javascript - angularjs拦截器:why is it not receiving the proper status code and message in $http interceptor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31334988/

相关文章:

javascript - 客户端调用服务器函数设置的服务器端变量是否仍然存在? (不!)

javascript - 有什么方法可以通过单击外部来关闭 Angular UI 工具提示吗?

angularjs - 如何使用翻译斗篷解决 Angular-translate FOUC 问题?

javascript - XMLHttpRequest HTTP header

javascript - Web Worker 被 Chrome 中的主线程阻塞

javascript - 创建 Firefox Addon 以监视和修改 XHR 请求和响应

javascript - 将事件处理程序推送到父组件

javascript - 使用 anchor 标记或输入标记打开计算机上的特定位置

javascript - 使用 gulp 提供静态文件时出现类型错误

javascript - 检查值是否是数字做某事