这是我的代码:
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
端点的标头中使用current
变量的更新内容,在之后修改登录电话的transformResponse
。这甚至可能吗?如果是这样,怎么样?
编辑:我使用的是Angular 1.1.3版 - 这个问题是关于在设置资源后更改资源中的标头,而不是最初设置它们。感谢
答案 0 :(得分:4)
假设您正在使用当前的稳定版本(1.0.8),尽管$ resource页面中记录了此功能,但尚未发布。
AngularJS resource not setting 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
}
});