我的应用正在使用基于令牌的身份验证,但访客也可以获取数据。因此,对于请求数据,我决定使用ngResource lib并为其编写工厂。 首先,auth控制器从服务器获取令牌并将其放置到localstorage。之后$ place进入主页,家庭控制器通过Home factory请求数据。 我的问题是,如果我使用访客模式,然后使用用户数据授权,我的应用程序无法将令牌标头添加到$ resource对象。 重新加载页面后,一切正常,但我需要在不重新加载的情况下完成。这是我的工厂代码
.factory('placeResource', ['$resource','$window', function($resource,$window) {
var get_token = function(){
if ($window.localStorage.token){
return 'token '+$window.localStorage.token
}
};
return $resource("/api/:resourceName/place/:placeId",
{ resourceName: '@_resourceName', placeId: '@placeId'},
{
query: {
method: 'GET',
isArray: true,
headers: { 'Authorization': get_token() }}
}
);
}]);