Restangular response.headers总是null或undefined

时间:2015-05-21 21:49:47

标签: angularjs http-headers restangular

我在 angularjs 应用上使用 Restangular

我发出的请求给了我一些我需要检索的响应标头。我正在使用 RestangularConfigurer.setFullResponse(true),因此我可以访问 response.headers 。问题是我正在为我正在尝试检索的每个值获取 null undefined

这是代码。

在控制器中:

auth.login($scope.user).then(function(response) {
  console.log(response.headers('myHeader')); // This gives me null
  auth.saveToken(response.headers.myHeader); // Here I retrieve the header
  $state.go('users.list');
  $translate('AUTH.LOGINSUCCESSMESSAGE').then(function(message) {
    logger.logSuccess(message);
  });
}, function(response) {
  console.log('Error logging in, with status: ' + response.status);
  $translate('AUTH.LOGINERRORMESSAGE').then(function(message) {
    logger.logError(message);
  });
});

在服务中:

auth.login = function(user) {
    return MyRestangular.all('sessions').post(user);
};

我的Restangular服务配置:

app.factory('MyRestangular', function(configuration, Restangular) {
    return Restangular.withConfig(function(RestangularConfigurer) {
        RestangularConfigurer.setBaseUrl(configuration.backendAPIURL);
        RestangularConfigurer.setFullResponse(true);
    });
});

1 个答案:

答案 0 :(得分:1)

找到了解决方案。

请确保后端使用 Access-Control-Expose-Headers 公开所需的标题。