J'ai cherché sur Google et débordement de pile sur des problèmes similaires/même même. Mais je suis nouveau à ce qu'aucun d'entre eux ne me donne une idée de comment puis-je réparer mon code.AngularJS 400 mauvaise demande ne pas donner de réponse
Alors, voici mon script:
$http.post('/authlogin', {
email: $scope.userdata.email,
password: $scope.userdata.password
}).then(function(response) {
console.log(response);
if (response.status == 400) {
$scope.errormsg = response.data;
}
if (response.status == 200) {
window.location = '/admin';
}
});
Tout fonctionne très bien pour la réponse 200 OK
. Mais chaque fois que la connexion a échoué, l'API renvoie 400 Bad Request
. À ce moment, l'erreur semble n'appeler même pas la fonction anonyme avec le response
. La plupart Cochez pour 400, 200, 201, etc. était & fonctionne parfaitement bien, mais pourquoi pas avec 400.
Voici l'erreur comme indiqué dans la console du navigateur par AngularJS (enjolivé & retirées de données sensibles):
Possibly unhandled rejection:
{
"data": "Invalid email/password combination.",
"status": 400,
"config": {
"method": "POST",
"transformRequest": [null],
"transformResponse": [null],
"jsonpCallbackParam": "callback",
"url": "/authlogin",
"data": {
"email": "####",
"password": "***"
},
"headers": {
"Accept": "application/json, text/plain, */*",
"Content-Type": "application/json;charset=utf-8"
}
},
"statusText": "Bad Request"
}
Je ne suis pas un pro dans angular.js, une explication de ce comportement et de la solution serait appréciée.
Mon objectif est d'afficher un message d'erreur à l'utilisateur qui est retourné dans data
.
avez-vous essayé d'ajouter une fonction d'erreur à l'époque? '' .then (fonction() {// fonction de succès}, function() {console.log (arguments); // fonction d'erreur}) ''. alors peut prendre 1 argument pour être fonction (succès seulement) ou 2 arguments pour être fonction (succès et erreur) – mtizziani
Utilisez-vous le formulaire submit pour transmettre vos données au serveur? –