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.

OriginalL'auteur user2364656 | 2015-07-18