Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angular interceptor responseError中获取服务器响应_Javascript_Angularjs_Interceptor - Fatal编程技术网

Javascript 在angular interceptor responseError中获取服务器响应

Javascript 在angular interceptor responseError中获取服务器响应,javascript,angularjs,interceptor,Javascript,Angularjs,Interceptor,我刚刚在angularJS中构建了一个拦截器服务,用于捕获API调用中的所有错误,以处理一般错误,如下所示: $provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) { return { 'responseError': function(rejection) { alert("Something went wrong"); return $q.reject(rej

我刚刚在angularJS中构建了一个拦截器服务,用于捕获API调用中的所有错误,以处理一般错误,如下所示:

$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
  return {
   'responseError': function(rejection) {
      alert("Something went wrong");
      return $q.reject(rejection);
    }
  };
});
工作正常,我的服务器返回此错误,状态为
409

{
message: "Email is already being used"
success: false
token: ""
}

如何从
responseError
拦截器访问此响应

可以这样做

$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
  return {
   'responseError': function(rejection) {
      if(rejection.status === 409) {
          //get set the error message from rejection.message/rejection.data.message and do what you want
      }
      alert("Something went wrong");
      return $q.reject(rejection);
    }
  };
});
$httpProvider.interceptors.push(['$q',  function($q) {
        return {
            'request': function (config) {
               //request codes
                return config;
            },
            'responseError': function(response) {

                console.log(response);
                if(response.statusText){

                    alert(response.statusText)
                }else{
                    alert("Server down")
                }
                if(response.status === 401 || response.status === 409) {
                    //response code
                }
                return $q.reject(response);
            }

        };
}]);

})

拒绝对象上有哪些可用内容?