3

这是我的代码:

var userAuth;
var user = $resource('https://myservice.com/user/:id/', {id: '@_id'} ,{
    login: {
        method: 'POST',
        params: {
            id: 'login'
        },
        transformResponse: function(data) {
            data = angular.fromJson(data);
            userAuth = 'Kinvey '+data._kmd.authtoken;
            return data;
        }
    },
    current: {
        method: 'GET',
        params: {
            id: '_me'
        },
        headers: {
            'Authorization': userAuth
        }
    }
});

在登录调用中修改,我希望能够在资源端点userAuth的标头中使用变量的更新内容。这甚至可能吗?如果是这样,怎么做?currenttransformResponse

编辑:我使用的是 Angular 版本 1.1.3 - 这个问题是关于在设置资源后更改标题,而不是最初设置它们。谢谢

4

1 回答 1

4

假设您使用的是当前的稳定版本 (1.0.8),尽管此功能已记录在 $resource 页面中,但尚未发布。

AngularJS 资源未设置 Content-Type

编辑:

有关此代码的说明,请参阅下面的评论。

var customerHeaders = {
    'Authorization' : ''
};
var user = $resource('https://myservice.com/user/:id/', {id: '@_id'} ,{
    login: {
        method: 'POST',
        params: {
            id: 'login'
        },
        transformResponse: function(data) {
            data = angular.fromJson(data);
            customHeaders.Authorization = 'Kinvey '+data._kmd.authtoken;
            return data;
        }
    },
    current: {
        method: 'GET',
        params: {
            id: '_me'
        },
        headers: customHeaders
    }
});
于 2013-10-02T21:32:13.307 回答