我在我工厂内的$ resource发送请求服务器端。 在返回对象中有很多信息,但我希望能够访问标题中的授权。 我试图通过console.log()打印返回的对象,但我没有在控制台中看到任何标题和授权。我该怎么办?
controllers.controller('ProfileSettingCtrl', function ($scope,User) {
User.get({id: 'me'}, function(res) {
console.log(res);
$scope.profile = res;
})
答案 0 :(得分:1)
使用(value,responseHeaders)参数调用成功回调。
好像你可以通过function (res, headers) { console.log(headers); }
答案 1 :(得分:0)
根据$ resource文档,标题作为第二个参数传递给您的成功回调。
值得注意的是,get,query和其他方法的成功回调在来自服务器的响应以及$ http header getter函数中传递,因此可以重写上面的示例并获取访问权限到http标题:
var User = $resource('/user/:userId', {userId:'@id'}); User.get({userId:123}, function(u, getResponseHeaders){ u.abc = true; u.$save(function(u, putResponseHeaders) { //u => saved user object //putResponseHeaders => $http header getter }); });
如果要使用标头信息,则必须使用成功回调。否则我总是建议使用promises,你可以链接和传递:
User.get().$promise.then(successCallback).catch(errorCallback);