当前位置: 首页 > 面试题库 >

如何将标题快速传递给$ resource for angularjs

齐典
2023-03-14
问题内容

现在,我所知道的唯一为angularjs调用在标头中动态设置令牌的方法是通过$http这样的方式:

return $http.get({
  url: 'https://my.backend.com/api/jokes',
  params: {
    'jokeId': '5',
  },
  headers: {
    'Authorization': 'Bearer '+ $scope.myOAuthToken
  }
});

但是我想弄清楚如何通过$ resource传递此信息,这是一些无效的伪代码:

...
.factory('myFactory',
  ['$resource',
    function($resource){
      return {
        jokes: $resource('https://my.backend.com/api/jokes', null, {
          query: {
            method: 'GET'
          }
        })
      };
    }
  ]
);
...
return myFactory.jokes.query({
  'jokeId': '5',
  'headers': {
    'Authorization': 'Bearer '+ $scope.myOAuthToken
  }
});

如何将标头动态传递给angularjs的$ resource?


问题答案:

我不认为这可以按照您尝试的方式完成,因为config对象在action方法上不可用。但是action
config方法具有它。因此,您可以做的是,而不是直接返回资源,而是创建一个使用参数作为授权令牌的函数,然后构造资源并返回。

return {
    jokes: function (token) {
        return $resource('https://my.backend.com/api/jokes', null, {
            query: {
                method: 'GET',
                headers: {
                    'Authorization': 'Bearer ' + token
                }
            }
        })
    }
};

然后将服务函数调用为:

myFactory.jokes($scope.myOAuthToken).query({'jokeId': '5'});


 类似资料:
  • mainactivity.java MyWebPage.java

  • 问题内容: 我需要定义一个可以在使用某些Objective-c类型的类中调用的协议 但是这样做不起作用: 你明白他的错误 如果我没有在协议上放置@objc标记,则它将在采用该协议并从Objective- C类型类(如UIViewController)继承的类中被调用时立即使应用程序崩溃。 所以我的问题是,我应该如何使用@objc标签声明并传递我的枚举? 问题答案: Swift枚举与Obj-C(或C

  • 问题内容: 上面的Javascript写在jinja2模板中。它应该将javascript变量(即var名称)值传递给宏中的python函数。我知道上面的代码无法解决我的目的,因为我没有正确将javascript变量值传递给宏。是否有人在jinja2模板中将javascript变量传递给宏的方法? 问题答案: 您不能以这种方式将值从javascript传递到模板,因为模板将在响应返回到浏览器之前呈

  • 我对Redux有相当的了解。 我想知道的一件事是,在一个大型应用程序中,会有多个操作和减缩器。 我的问题是 > reducer中是否存在重复操作? 即使当我查看redux流时,我也不理解这些问题 请澄清我的困惑。

  • 问题内容: 我正在使用Node.js,但在与客户端通信时遇到问题。 我定义Express: 当我尝试在请求页面时将参数传递给客户端时,该变量不包含任何数据,例如: 在索引页面上,当我使用控制台打印变量()时,它会返回。 更多信息:http : //expressjs.com/api.html#app.render 我是否缺少某些东西或做错了什么? 问题答案: 发送给渲染函数的变量仅在渲染页面时可用

  • 问题内容: 我知道不推荐这样做,但是是否可以将用户密码传递给scp? 作为批处理作业的一部分,我想通过scp复制文件,接收服务器当然需要密码,不,我不能轻易地将其更改为基于密钥的身份验证。 问题答案: 您就可以使用一个工具脚本它预期(有得心应手绑定太像Pexpect的为Python)。