gpt4 book ai didi

javascript - Angular Restangular 本地存储拦截器问题

转载 作者:行者123 更新时间:2023-11-28 06:24:44 25 4
gpt4 key购买 nike

我正在使用 RestangularProvider 设置 $http 拦截器,以将身份验证 header 注入(inject)所有 Restangular 请求中。问题是您无法将服务注入(inject) app.config() 中,因此在从登录服务器获取 token 后,我无法访问用于存储 token 的 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”是我本地存储的身份验证 token 。正如您所看到的,我需要能够使用 Restangular 提供程序和本地存储。我将不胜感激任何解决方法。谢谢!

最佳答案

基本上你不能将服务注入(inject)到 Angular 配置.config阶段。只有提供者/常量可以进入配置阶段(提供者用于可配置服务)

要解决您的问题,请将 localStorageService 转换为提供程序而不是 service/factory,然后将其注入(inject)到配置 block ,如 localStorageProvider

实现它的另一种方法是,您可以使用 $injector 来检索 localStorageService 的实例。为此,您需要注入(inject) $injector 然后使用 var

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

用于获取localStorageService的实例

关于javascript - Angular Restangular 本地存储拦截器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35231681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com