【发布时间】:2015-01-24 04:36:45
【问题描述】:
POST 的回调函数为我的自定义 HTTP 标头 X-Auth-Token 返回 null。 Chrome 显示正确的 POST 响应标头,但 Angular.js 没有。
Angular 唯一返回的是 Cache-Control 和 Content-Type。其他所有内容都显示为 null。
这是我的 CoffeeScript,展示了我如何称呼它:
.factory 'loginFactory', ($rootScope, $http, $resource) ->
$resource '/api/auth/login',
email: '@id'
password: '@id'
.controller 'userController', ($scope, $state, $http, loginFactory, userService) ->
$scope.validationError = false
$scope.user =
email: ''
password: ''
$scope.loginUser = ->
loginFactory.save $scope.user, (u, headers) ->
console.log headers('X-Auth-Token')
.$promise.then (response) ->
unless response.error
userService.login($scope.user.email, $scope.user.password)
unless userService.redirIfLoggedIn()
$scope.validationError = true
我也尝试过运行早期版本的 Angular 1.3.x,但也有同样的问题。
为什么 Angular 在我发出请求时只返回这两个标头?
【问题讨论】:
-
看起来服务器需要授予查看标头的权限。看看这个stackoverflow.com/questions/17038436/…
-
本地运行;它就是这样工作的。看起来就是这个问题。在这种情况下:
Access-Control-Expose-Headers: X-Auth-Token.
标签: javascript angularjs