So come intercettare TUTTE le richieste, ma voglio solo intercettare le richieste dalle mie risorse.Come utilizzare l'intercettore angularJS per intercettare solo richieste HTTP specifiche?
Qualcuno sa come fare?
services.config(['$httpProvider',function($httpProvider) {
$httpProvider.interceptors.push('myHttpInterceptor');
}]);
services.factory("userPurchased", function ($resource) {
return $resource("/api/user/purchases/:action/:item",
{},
{
'list': {method: 'GET', params: {action: 'list'}, isArray: false},
'save': {method: 'PUT', params: {item: '@item'}},
'remove': {method: 'DELETE', params: {item: '@item'}},
}
);
});
services.factory('myHttpInterceptor', function($q,$rootScope) {
// $rootScope.showSpinner = false;
return {
response: function(response) {
$rootScope.showSpinner = false;
// do something on success
console.log('success');
console.log('status', response.status);
//return response;
return response || $q.when(response);
},
responseError: function(response) {
// do something on error
$rootScope.showSpinner = true;
console.log('failure');
console.log('status', response.status)
//return response;
return $q.reject(response);
}
};
});
Grazie - questo è esattamente quello che stavo cercando! – jrutter
Esattamente quello di cui avevo bisogno! Grazie! –
Questo non funziona quando invio più intercettori su httpProvider. Voglio chiamare solo un intercettore specifico, che sto facendo come sopra, ma il metodo di richiesta viene chiamato da tutti gli intercettori che ho registrato. – Sanket