【问题标题】:Angular Restangular Local Storage Interceptor IssueAngular Restangular 本地存储拦截器问题
【发布时间】:2016-02-05 19:08:27
【问题描述】:

我正在使用 RestangularProvider 来设置一个 $http 拦截器,以将身份验证标头注入到所有 restangular 请求中。问题是您无法将服务注入 app.config(),因此在从登录服务器获取令牌后,我无法访问用于存储令牌的 Angular 本地存储。

angular.module('app').config(function(RestangularProvider, localStorageService) {
    RestangularProvider.setBaseUrl('/api/');

    RestangularProvider.setFullRequestInterceptor(function(element, operation, route, url, headers, params, httpConfig) {
       var authData = localStorageService.get('authorizationData');//ERROR:localStorageService doesn't exist
        };
});

“authorizationData”是我存储在本地的身份验证令牌。 如您所见,我需要能够使用 Restangular 提供程序和本地存储。我将不胜感激任何解决方法。谢谢!

【问题讨论】:

    标签: javascript angularjs restangular


    【解决方案1】:

    基本上你不能将服务注入到角度配置.config 阶段。配置阶段只能访问提供者/常量(提供者用于可配置服务)

    要解决您的问题,请将localStorageService 转换为provider 而不是service/factory,然后将其注入到配置块中,例如localStorageProvider

    实现它的其他方法是,您可以使用$injector 来检索localStorageService 的实例。为此,您需要注入 $injector 然后使用 var

    localStorageService = $injector.get('localStorageService'); 
    

    获取localStorageService的实例

    【讨论】:

      猜你喜欢
      • 2014-05-29
      • 1970-01-01
      • 2015-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-23
      • 2020-12-19
      • 2017-10-05
      相关资源
      最近更新 更多