Die Callback-Funktion für den POST gibt null für meinen benutzerdefinierten HTTP-Header X-Auth-Token
zurück. Chrome zeigt die richtigen POST-Antwortheader an, Angular.js jedoch nicht.Angular.js sagt benutzerdefinierten HTTP-Antwortheader ist null
Die einzigen, die Angular zurückgibt, sind Cache-Control und Content-Type. Alles andere zeigt null.
Dies zeigt mein Coffeescript, wie ich es bin Aufruf:
.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
Ich habe auch versucht, frühere Versionen Angular 1.3.x ausgeführt wird, und solche, hatten das gleiche Problem.
Warum gibt Angular nur diese beiden Header zurück, wenn ich eine Anfrage mache?
Sieht so aus, als müsste der Server die Erlaubnis geben, die Header zu sehen. Überprüfen Sie diese http://stackoverflow.com/questions/17038436/reading-response-headers-when-using-http-of-angularjs?rq=1 – dbugger
lief es lokal; Es hat so funktioniert. Sieht so aus, als wäre das das Problem. In diesem Beispiel: "Access-Control-Expose-Header: X-Auth-Token". – Sawtaytoes