Angularjs:在调用操作之前在$ resource上设置自定义标头?

时间:2014-12-19 09:47:18

标签: angularjs

我有以下$资源定义:

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帖子。但这不是我需要的,因为它在动作的数据中设置了令牌,我需要在标题中。

1 个答案:

答案 0 :(得分:0)

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

Dynamic Resource Headers

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