Javascript AngularJS HTTP拦截器
当任何请求完成时,如何在console.log(“完成的AJAX请求”)中使用拦截器 我一直在研究拦截器,到目前为止有以下内容,但它是在请求开始时触发的,而不是在请求结束时触发的Javascript AngularJS HTTP拦截器,javascript,angularjs,Javascript,Angularjs,当任何请求完成时,如何在console.log(“完成的AJAX请求”)中使用拦截器 我一直在研究拦截器,到目前为止有以下内容,但它是在请求开始时触发的,而不是在请求结束时触发的 app.factory('myInterceptor', [function() { console.log("finished AJAX request") var myInterceptor = { }; return myInterceptor; }]); 配置: app
app.factory('myInterceptor', [function() {
console.log("finished AJAX request")
var myInterceptor = {
};
return myInterceptor;
}]);
配置:
app.config(function ($stateProvider, $urlRouterProvider, $httpProvider) {
$httpProvider.interceptors.push('myInterceptor');
etc
您需要将控制台置于httpInterceptor的响应函数中
// register the interceptor as a service
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
return {
// optional method
'request': function(config) {
// do something on success
return config;
},
// optional method
'requestError': function(rejection) {
// do something on error
if (canRecover(rejection)) {
return responseOrNewPromise
}
return $q.reject(rejection);
},
// optional method
'response': function(response) {
// do something on success
console.log('I am done');
return response;
},
// optional method
'responseError': function(rejection) {
// do something on error
if (canRecover(rejection)) {
return responseOrNewPromise
}
return $q.reject(rejection);
}
};
});
$httpProvider.interceptors.push('myHttpInterceptor');
在这里的响应方法中,我已经包含了控制台日志函数调用您需要将控制台放入httpInterceptor的响应函数中
// register the interceptor as a service
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
return {
// optional method
'request': function(config) {
// do something on success
return config;
},
// optional method
'requestError': function(rejection) {
// do something on error
if (canRecover(rejection)) {
return responseOrNewPromise
}
return $q.reject(rejection);
},
// optional method
'response': function(response) {
// do something on success
console.log('I am done');
return response;
},
// optional method
'responseError': function(rejection) {
// do something on error
if (canRecover(rejection)) {
return responseOrNewPromise
}
return $q.reject(rejection);
}
};
});
$httpProvider.interceptors.push('myHttpInterceptor');
在这里的响应方法中,我包含了控制台日志函数调用