Mim*_*imo 3 angularjs restangular
我正在使用Restangular构建一个应用程序.我会在一个地方实现处理错误,如401,403,500等在响应拦截器中.
这就是我写的:
RestangularProvider.setResponseExtractor(function(response, operation, what, url) {
switch(response.meta.code) {
case 200:
// Handle 200
break;
case 401:
// Redirect to login
break;
/* ... */
default:
break;
}
}
Run Code Online (Sandbox Code Playgroud)
实际发生的是200正确看到但是这个方法根本没有被401命中.我从服务器端获得的JSON格式如下,以便成功响应:
{"meta":{"apiVersion":"0.1","code":200,"errors":null},"response":{"response":"value"}}
Run Code Online (Sandbox Code Playgroud)
和
{"meta":{"apiVersion":"0.1","code":401,"errors":[{"code":401,"message":"Unauthorized"}]},"response":null}
Run Code Online (Sandbox Code Playgroud)
为了错误.响应头也包含Status Code:401 Unauthorized.我究竟做错了什么?
mgo*_*nto 11
401和任何错误代码都会命中errorInterceptor,而不是responseInterceptor.只有成功的响应才会调用responseInterceptor!