我正在尝试添加$ http拦截器,以便可以添加Authorization标头,但是当我添加它时,所有路由都会停止工作,但不会引发任何错误。
app.service('APIInterceptor', ['userService', function (userService) {
this.request = function (config) {
var currentUser = userService.getCurrentUser();
if (currentUser) {
config.headers['Authorization'] = "Bearer " + currentUser.access_token;
}
return config;
}
}]);
app.config(['$routeProvider', '$locationProvider', '$httpProvider', function ($routeProvider, $locationProvider, $httpProvider) {
$routeProvider
.when("/login", {
templateUrl: 'Views/login.html?' + $.now(),
controller: 'loginController',
controllerAs: 'vm'
})
.when("/", {
templateUrl: 'Views/home.html?' + $.now(),
controller: 'homeController',
controllerAs: 'vm'
});
// when I comment out the below the routing works
// with this line in all routing stops working
$httpProvider.interceptors.push('APIInterceptor');
}]);
答案 0 :(得分:0)
因此,在拦截器内部有一些console.log(),它看起来确实可以进入其中,但是如果内部有任何错误,它不会报告任何内容。我有getCurrentUser()而不是GetCurrentUser()。真是令人um目结舌,没有错误能够再次出现,但现在可以正常工作了。