Restangular response.headers 始终为空或未定义
Restangular response.headers always null or undefined
我在 angularjs 应用程序上使用 Restangular。
我发出的请求会给我一些响应 headers 我需要检索。我正在使用 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);
});
});
找到解决方案。
只需确保后端公开所需的 headers 和 Access-Control-Expose-Headers.
我在 angularjs 应用程序上使用 Restangular。
我发出的请求会给我一些响应 headers 我需要检索。我正在使用 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);
});
});
找到解决方案。
只需确保后端公开所需的 headers 和 Access-Control-Expose-Headers.