我正在使用Restangular拦截器来处理状态代码为412,409等的错误。 但我没有在requestInterceptor函数中获取状态。 我已经使用Typescript声明了Restangular RequestInterceptor。
在我的app.ts文件中,
app.run(Restangular){
Restangular.setErrorInterceptor(function(response) {//code to handle error});
}
答案 0 :(得分:2)
Restangular提供了一个访问完整响应访问权限的选项,可能设置这可能会有所帮助。通过使用Restangular.setFullResponse(true)
,您应该能够访问拦截器中的状态代码。
所以,我想根据你的片段现在它看起来像这样(因为你有注入Restangular的地方,如果你有任何其他配置部分,设置应该去)
app.run(Restangular){
Restangular.setFullResponse(true);
Restangular.setErrorInterceptor(function(response) {//code to handle error});
}
重要的是要指出设置此选项,现在对您的所有服务的访问权限的访问权限会有所不同,除非您创建了处理下一个.data
行为的内容:
function(response){
var result = response.data;
var statusCode = result.status;
var responseData = result.myApiResponse;
}
有关详细信息,请查看:project,并希望我的帖子有所帮助。