Mam aplikację java z interfejsem API dla usługi REST. I robię dla niego frontend. Teraz pracuję z autoryzacją.Jak uzyskać odpowiedź po POST w AngularJS?
Kiedy robię POST żądanie aplikacja zwraca mi komunikat JSON tak: Jeśli login i pass jest prawo
{
"result": {
"token": "shgvojhhsifav37o5a3sebc3if"
}
}
A jeśli nie mają rację:
{
"error": {
"code": 10,
"message": "Incorrect login or password"
}
}
widzę odpowiedź w przeglądarce, ale nie może jej użyć w kodzie JavaScript.
Jak mogę to uzyskać i sprawdzić, czy nie ma następnych działań?
My JavaScript:
controllers.controller('userAuthCtrl', ['$scope','$http',
function($scope, $http){
$http({
method: 'POST',
url: '/rest/api/auth/login',
data: '?login=test&password=passwo3rd',
headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}
}).
success(function(data, status, header, config) {
console.log(header());
console.log(config);
$scope.dataU = data;
$scope.statusU = status;
}).error(function(data, status, header, config){
console.log(header());
console.log(config);
})
}
]);
Moje testy HTML jest teraz łatwe.
<div class="testCont" ng-controller="userAuthCtrl">
</div>
Zawsze otrzymuję status 200 niezależnie od logowania/podania. jeśli używam REST Console i wysyłam żądanie POST, otrzymałem prawdziwą odpowiedź. – elpofigisto
Jeśli tak jest, spójrz na 2. blok kodu, który zawarłem, w oparciu o Twój model danych, który jest zwracany, możesz określić logikę na podstawie tego, czy pole zawiera "wynik" lub "błąd" w oparciu o JSON, który zawierasz powyżej – Brocco
aktualizuję mój kod z .error() – elpofigisto