Comment attraper erreur http de la réponse Angulaire
Fond
- Mon Angulaire de l'application communique avec une base de données à travers un ensemble d'API de points de terminaison.
- "utilisateur/authentifier" points de terminaison accepte le nom d'utilisateur et le mot de passe et retourne un succès (200) ou un bad request (400) de la réponse http.
Contrôleur
authService.login(email, password)
.success(function (response) {
/* go to application */
})
.error(function (response) {
/* display proper error message */
});
Service de demenagement
factory.login = function(email, password) {
return $http({
method: 'POST',
url: "http://myserver/user/authenticate",
data: $.param({email: email, password: password}),
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
});
}
Problème
Lorsque le nom d'utilisateur et le mot de passe échoue et API retourne 400 réponse, même si je suis la capture de l'erreur et je suis l'affichage d'un message à l'utilisateur, le message d'erreur s'affiche dans le navigateur de la console.
POST http://myserver/user/authenticate 400 (Bad Request)
Puis-je gérer les erreurs dans une meilleure façon?
Vous dites "même si je suis la capture de l'erreur et je suis l'affichage d'un message à l'utilisateur, le message d'erreur s'affiche dans le navigateur de la console".. alors quel est le problème? Quelle erreur est dans la console? Si vous signalez une erreur à l'utilisateur, alors quel est le problème?
Je ne veux pas utilisateur pour voir un message d'erreur dans la console. Est-il un moyen pour éviter cela?
Si le serveur renvoie une réponse d'erreur, il n'y a pas moyen de contourner cela. Si l'utilisateur est avisé qu'ils pourront le voir. Un utilisateur moyen n'auront pas leur console ouverte. C'est le développeur front end pour traduire les erreurs de serveur en lisible/messages utiles à l'utilisateur. Une erreur 400 est une erreur 400, vous ne pouvez pas le cacher.
Je ne veux pas utilisateur pour voir un message d'erreur dans la console. Est-il un moyen pour éviter cela?
Si le serveur renvoie une réponse d'erreur, il n'y a pas moyen de contourner cela. Si l'utilisateur est avisé qu'ils pourront le voir. Un utilisateur moyen n'auront pas leur console ouverte. C'est le développeur front end pour traduire les erreurs de serveur en lisible/messages utiles à l'utilisateur. Une erreur 400 est une erreur 400, vous ne pouvez pas le cacher.
OriginalL'auteur user2364656 | 2015-07-18
Vous devez vous connecter pour publier un commentaire.
Essayer cette
puis utilisez le code suivant
est-il une erreur ??
Vous pouvez gérer l'erreur, comme si la gravité de la demande d'afficher un message à l'utilisateur avec statusText, mais encore vous obtenez une erreur dans la console,
POST http://localhost:8100/api/users 400 (Bad Request)
ce pour moi que si j'essaie de poste de l'utilisateur avec le même e-mail, dans l'INTERFACE utilisateur, je gérer une dshow que l'utilisateur existe déjà, mais dans la console, je vais encore vous obtenez ce message, l'interlocuteur besoin pour obtenir le tour de cette console (ce qui est impossible).OriginalL'auteur user1608841