Zugriff auf benutzerdefinierte HTTP-Response-Header in AngularJS
Ich versuche, den Header 'Fehler-Detail' zugreifen, wie Sie im Browser Netzwerk Inspektor (Link oben) sehen kann, wird der Header zurückgegeben. Server-weise habe ich auch den benutzerdefinierten Header zu den 'Access-Control-Expose-Headern' hinzugefügt, um Domain-übergreifende Anfragen zu erlauben, da dies vorgeschlagen wurde, um andere Fragen zu beheben.
Unten ist die Anfrage an den Server zusammen mit dem Erfolg/Fehler Rückrufe.
this.signon = function (request, onComplete, onError) {
console.log("Calling server with 'login' request...");
return $http.post("http://localhost:8080/markit-war/services/rest/UserService/login/", request)
.then(onComplete, onError);
};
var onLookupComplete = function(response) {
if (response.data.username)
{
//If user is returned, redirect to the dashboard.
$location.path('/dashboard');
}
$scope.username = response.data.username;
};
var onError = function(response) {
$scope.error = "Ooops, something went wrong..";
console.log('error-detail: ' + response.headers('error-detail'));
};
Wenn ich versuche, die Antwort-Header zugreifen, wie unten zu sehen:
console.log(response.headers());
console.log('error-detail: ' + response.headers('error-detail'));
dies nur Ausgänge: content-type: "application/json" Fehler-Detail: null
Ist gibt es einen Grund, warum der Fehler-Detail-Header nicht auf das Antwortobjekt abgebildet wird?
können Sie tun response.headers(). Fehler-Detail? – user2085143
@ user2085143 Nein, sicherlich ist das keine legale Syntax, oder? –
Wahrscheinlich nicht, aber nicht sicher, was response.headers() tatsächlich zurückgibt. Haben Sie einen Blick auf diese http://stackoverflow.com/questions/220231/accessing-the-web-pages-http-headers-in-javascript – user2085143