Angular 处理 HTTP 错误状态的 JS 拦截器
Angular JS Interceptor to handle HTTP Error status
我使用 AngularJS 作为我的应用程序和 ui-route。我的应用程序中的服务如下所示:
(function() {
'use strict';
angular
.module('myProject.myModule')
.factory('myService', myService);
myService.$inject = ['$http', 'api_config'];
function myService($http, api_config) {
var service = {
myServiceMethod1: myServiceMethod1,
...
};
return service;
////////////
function myServiceMethod1(params) {
return $http.get(api_config.BASE_URL + '/path');
}
现在我将以这种方式实现一个(全局)拦截器,只要响应状态为 HTTP 403,拦截器就应该处理它。
这个拦截器应该是全局的。
非常感谢!
试试
angular
.module('myProject.myModule')
.config(['$httpProvider', function ($httpProvider) {
$httpProvider.interceptors.push(['$q', '$location', function ($q, $location) {
return {
'responseError': function(response) {
if(response.status === 401 || response.status === 403) {
$location.path('/signin'); // Replace with whatever should happen
}
return $q.reject(response);
}
};
}]);
}]);
我使用 AngularJS 作为我的应用程序和 ui-route。我的应用程序中的服务如下所示:
(function() {
'use strict';
angular
.module('myProject.myModule')
.factory('myService', myService);
myService.$inject = ['$http', 'api_config'];
function myService($http, api_config) {
var service = {
myServiceMethod1: myServiceMethod1,
...
};
return service;
////////////
function myServiceMethod1(params) {
return $http.get(api_config.BASE_URL + '/path');
}
现在我将以这种方式实现一个(全局)拦截器,只要响应状态为 HTTP 403,拦截器就应该处理它。 这个拦截器应该是全局的。 非常感谢!
试试
angular
.module('myProject.myModule')
.config(['$httpProvider', function ($httpProvider) {
$httpProvider.interceptors.push(['$q', '$location', function ($q, $location) {
return {
'responseError': function(response) {
if(response.status === 401 || response.status === 403) {
$location.path('/signin'); // Replace with whatever should happen
}
return $q.reject(response);
}
};
}]);
}]);