我使用AngularJS构建单页应用程序。我希望代码AnggularJS部分始终检查身份验证情况,每当有连接将数据发送到服务器时,始终使用头信息[X-Access-Token]发送。以下是我使用的代码,但它可能在某处有问题因为它不起作用。我必须手动将标题X-Access-Token的数据添加到函数$ http get,post。你有任何AngularJS的经验,请帮助我!谢谢。
app.factory('myHttpResponseInterceptor',['$q','$location',function($q,$location){
return function (promise) {
var success = function (response) {
return response;
console.log(response);
};
var error = function (response) {
if (response.status == 401) {
//$state.go('signin');
}
return $q.reject(response);
};
return promise.then(success, error);
};
}]);
//Http Intercpetor to check auth failures for xhr requests
app.config(['$httpProvider',function($httpProvider) {
$httpProvider.interceptors.push('myHttpResponseInterceptor');
}]);
app.factory('api', function ($http, $cookieStore, flash, $state) {
return {
init: function (token) {
$http.defaults.headers.common['X-Access-Token'] = token || $cookieStore.get('token');
}
};
});
app.run(function (api) {
api.init();
});
app.controller('adminProCatController', function($scope, $rootScope, flash, $state, $http, $cookieStore) {
$http.get('api/v1/categories?image_size=50x50', {headers: {'X-Access-Token': $cookieStore.get('token')}}).success(function(data) {
$scope.categories = data;
});
});