Javascript 角度$http接收器
我的理解是,当我生成下面这样的$http.post代码时,我的拦截器应该预处理输入数据并响应它的错误/成功方法。但当我做$q.rejectresponse.data时;我已经检查了数据是否存在。然后在我的错误中,我会得到那些我拒绝的数据。但我不知道。错误为空 代码: 这是我的模块 Http请求 拦截器 Ahh发现$q.rejectresponse已经将.data解压到错误处理程序。 因此,my.error变为null,因为response.data没有原因的.data response.data.data属性 我会让它作为将来的参考Javascript 角度$http接收器,javascript,angularjs,http,interceptor,Javascript,Angularjs,Http,Interceptor,我的理解是,当我生成下面这样的$http.post代码时,我的拦截器应该预处理输入数据并响应它的错误/成功方法。但当我做$q.rejectresponse.data时;我已经检查了数据是否存在。然后在我的错误中,我会得到那些我拒绝的数据。但我不知道。错误为空 代码: 这是我的模块 Http请求 拦截器 Ahh发现$q.rejectresponse已经将.data解压到错误处理程序。 因此,my.error变为null,因为response.data没有原因的.data response.data
$http.post("/overview", searchCriterias).success(function(data) {
console.log('InboundController : success in http call');
$scope.searchState = "result";
$scope.result = data;
}).error(function(data, status, headers, config) {
console.log('InboundController : error in http call');
$scope.searchState = "error";
console.log(data);
if (data.errorMessage)
$scope.result = data.errorMessage;
else
$scope.result = data;
});
LTS.factory('defaultHttpInterceptor', function($q) {
return {
response: function(response) {
// do something on success
// console.log(response.headers());
if (response.headers()['content-type'].indexOf("application/json;charset=UTF-8") > -1) {
// Validate response, if not ok reject
var dataPresent = response.data;
if (dataPresent && dataPresent.state && dataPresent.state !== "OK") {
console.log(response.data);
return $q.reject(response.data);
} else {
return response.data;
}
}
return response;
},
responseError: function(response) {
// do something on error
console.log('defaultHttpInterceptor : http error');
return $q.reject(response);
}
};
});
LTS.config(function($httpProvider) {
$httpProvider.interceptors.push('defaultHttpInterceptor');
});