【问题标题】:Angularjs: Set a custom header on $resource before an action is called?Angularjs:在调用操作之前在 $resource 上设置自定义标头?
【发布时间】:2014-12-19 09:47:18
【问题描述】:

我有以下 $resource 定义:

angular.module("MyApp").factory("account", ["$resource",
function ($resource) {

    var userResource = $resource("http://localhost/api/account/:id",
        {
            id: "@id"
        },
        {
            register: {

                method: "Post",

            }
    );

    return userResource;
}]);

在每次调用 user.query、get、register 等之前...我需要设置一个自定义标头,它是一个带有访问令牌的授权标头。

请注意,全局设置标头不起作用,因为访问令牌可能会在每次调用 $resource 之前过期并用新的刷新,因此授权标头会更改。此外,我只需要在特定操作上设置标题。例如,我在保存操作中不需要它。

我读了这篇文章:

http://nils-blum-oeste.net/angularjs-send-auth-token-with-every-request/

顺便说一句,它链接在几个 stackoverflow 帖子上。但这不是我需要的,因为它在动作的数据中设置了标记,我需要在标题中使用它。

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    对我来说,这只是一个语法问题——这篇文章帮助了我。

    Dynamic Resource Headers

    .factory("ResourceService", function() { 
       return { 
         Token: function(token){
            return $resource("someurl/checktoken", {}, {
               validateToken: {method:"POST", params: {}, headers: {"MY-AUTH-TOKEN": token}}
            });
     }}})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多