如何获得角度1.5.6的响应状态代码?

时间:2017-03-03 16:24:21

标签: javascript angularjs

我正在尝试很多方法,其中一些:

   $http({
      method: 'GET',
      url: '/Url'}).then(function successCallback(response) {
      }, function errorCallback(response) {
      });

    var req = {
        method: 'GET',
        interceptor: {
            response: function (response) {
                console.log(response)
                var result = response.resource;
                result.$status = response.status;
                return result;
            }
        },
        url: url,
        headers: {
            'Authorization': token
        }
    }

    $http(req).success(function (data, status, headers, config) {
        console.log(data, status, headers, config);
    }).error(function (data, status, headers, config) {
        console.log(data, status, headers, config);
    });

还有很多其他没有结果,所以我真的需要帮助! 我很感激任何帮助

3 个答案:

答案 0 :(得分:0)

第一种方法看起来很接近你需要的东西。

function successCallback(response) {
  console.log('status code: ', response.status);
}

目前回调是空的,所以我们正在访问响应对象并从中记录状态代码。

答案 1 :(得分:0)

第一种方式是更直接的方式,但我非常确定响应函数应该是匿名的。在两者中放入console.log()会有所帮助。

$http({
  method: 'GET',
  url: '/Url'
  }).then(function(response) {
      console.log(response.status);
  }, function(response) {
      console.log(response.status);
  });

如果这不起作用,只需将console.log(响应)放在两者中,看看它能得到什么。

答案 2 :(得分:0)

如果要跟踪所有请求,可以使用httpinterceptor:

myModule.factory('myHttpInterceptor', function ($q) {

    return {
        response: function (response) {
            // do something with success response
            // status in response.status
            return response;
        },
        responseError: function (response) {
            // do something with error response
            // status in response.status
            return $q.reject(response);
        }
    };

});

myModule.config(function ($httpProvider) {
    $httpProvider.interceptors.push('myHttpInterceptor');
});