2016-01-21 41 views

回答

1

我假设你主要关心$ http错误(非2xx)。这样做的

一种方法是配置全局interceptor并执行了“responseError”处理一些动作: -

// register the interceptor as a service 
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) { 
    return { 

     'responseError': function(rejection) { 
      // DO YOUR WAY OF HANDLING here. 

      return $q.reject(rejection); 
     } 
    }; 
}); 

$httpProvider.interceptors.push('myHttpInterceptor'); 

你reponseErrorHandler可以照顾非2xx的HTTP状态(5XX,4XX)的。 您可能想按照您的需要对待它们。

您可以在此触发另一个ajax请求到您的RESTful日志框架。

+0

是的,这是一个很好的做法。但我不仅在寻找$ http错误,而且还在我的JavaScript代码中出现的错误,这些错误正在浏览器的控制台中打印。无论出现什么错误,都需要记录到服务器端。 –

+0

某种“https://www.stacktracejs.com/”类。 –

+0

尝试http://stackoverflow.com/questions/5328154/catch-all-javascript-errors-and-send-them-to-server –

相关问题