如何在angular config中使用cookiesProvider

 莪系坏女孩2010 发布于 2023-02-10 13:44

我想获取cookie值并设置为提供者.这篇文章/sf/ask/17360801/提到$ cookiesProvider.但是我该如何使用它?

mod.config(["someProvider", "$cookiesProvider", function(someProvider, $cookiesProvider) {
    someProvider.set('configs', {'token': $cookiesProvider["XSRF-TOKEN"]})
  }]);

Kamil Szot.. 30

你可以$cookies手动注入:

myApp.config(function() {
  var $cookies;
  angular.injector(['ngCookies']).invoke(['$cookies', function(_$cookies_) {
    $cookies = _$cookies_;
  }]);

  // here you can use $cookies as usual
});


Betty St.. 13

我想在每个http请求上设置特定的http标头,所以这是我的解决方案:

我正在使用run函数,因为在配置中我无法访问cookie,请参阅http://docs.angularjs.org/guide/module

app.run(function run( $http, $cookies ){
  $http.defaults.headers.common["X-AUTH-TOKEN"] = $cookies['AUTH-TOKEN'];
});

如果您不想对该配置使用run函数(因为它很难进行单元测试),您可以为$ httpProvider编写一个拦截器,类似于:https://gist.github.com/lpsBetty/ 76df8d1f037db87f4a0b

2 个回答
  • 我想在每个http请求上设置特定的http标头,所以这是我的解决方案:

    我正在使用run函数,因为在配置中我无法访问cookie,请参阅http://docs.angularjs.org/guide/module

    app.run(function run( $http, $cookies ){
      $http.defaults.headers.common["X-AUTH-TOKEN"] = $cookies['AUTH-TOKEN'];
    });
    

    如果您不想对该配置使用run函数(因为它很难进行单元测试),您可以为$ httpProvider编写一个拦截器,类似于:https://gist.github.com/lpsBetty/ 76df8d1f037db87f4a0b

    2023-02-10 13:46 回答
  • 你可以$cookies手动注入:

    myApp.config(function() {
      var $cookies;
      angular.injector(['ngCookies']).invoke(['$cookies', function(_$cookies_) {
        $cookies = _$cookies_;
      }]);
    
      // here you can use $cookies as usual
    });
    

    2023-02-10 13:50 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有