AngularJS在每个请求上设置头
我正在尝试设置一个标头,以便在每个请求上发送访问令牌。这就是我尝试过的:AngularJS在每个请求上设置头,angularjs,restangular,Angularjs,Restangular,我正在尝试设置一个标头,以便在每个请求上发送访问令牌。这就是我尝试过的: .factory("TokenRestangular", "StorageService", function (Restangular, StorageService) { return Restangular.withConfig(function (RestangularConfigurer) { // Set access token in header. Restang
.factory("TokenRestangular", "StorageService", function (Restangular, StorageService) {
return Restangular.withConfig(function (RestangularConfigurer) {
// Set access token in header.
RestangularConfigurer.setDefaultHeaders({Authorization:'Bearer '+ StorageService.get("access_token")});
RestangularConfigurer.setBaseUrl('/api');
});
})
我得到一个错误:
Error: [ng:areq] http://errors.angularjs.org/1.2.19/ng/areq?p0=fn&p1=not%20aNaNunction%2C%20got%string
at Error (native)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js:6:450
at Bb (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js:19:68)
at Ua (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js:19:155)
at rc (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js:32:423)
at Object.d [as invoke] (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js:34:398)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js:36:288
at c (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js:34:305)
at d (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js:35:6)
at Object.instantiate (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js:35:165)
我认为工厂函数传递的参数太多,请尝试以下方法:
.factory("TokenRestangular", function (Restangular, StorageService) {
return Restangular.withConfig(function (RestangularConfigurer) {
// Set access token in header.
RestangularConfigurer.setDefaultHeaders({Authorization:'Bearer '+ StorageService.get("access_token")});
RestangularConfigurer.setBaseUrl('/api');
});
})
或
如果您想要安全的缩小代码。我的问题是我会随着时间的推移刷新令牌,我成功地获得了新的令牌,但当我运行另一个RESTful API时,它使用的令牌仍然是旧的。@aokaddaoc I正在处理相同的问题。。你解决了吗?@bitmind是的,我解决了。希望它能解决你的问题~
.factory("TokenRestangular", ["Restangular", "StorageService", function (Restangular, StorageService) {
return Restangular.withConfig(function (RestangularConfigurer) {
// Set access token in header.
RestangularConfigurer.setDefaultHeaders({Authorization:'Bearer '+ StorageService.get("access_token")});
RestangularConfigurer.setBaseUrl('/api');
});
}])