AngularJs可选标题参数(标记)

时间:2015-02-25 23:45:22

标签: angularjs authentication token angular-resource

我的应用正在使用基于令牌的身份验证,但访客也可以获取数据。因此,对于请求数据,我决定使用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() }}
        }
    );
}]);

0 个答案:

没有答案