Anguleux.js $ HTTP intercept " net:: ERR connexion refusée"
J'essaie d'écrire un gestionnaire d'erreur générique pour mon site Web en utilisant les intercepteurs de $http'
, mais ils ne semblent pas être capables de faire ce que je veux faire.
J'ai placé des intercepteurs sur 'response'
et 'responseError'
mais ils ne sont jamais appelés lorsque le serveur est hors ligne / ne répond pas (net::ERR_CONNECTION_REFUSED). Je comprends pourquoi cela se produit, il n'y a pas de réponse à intercepter.
J'aimerais savoir s'il existe un moyen générique d'attraper ces erreurs, autre que d'écouter le rappel error
de $httpPromise
pour chaque demande.
38
demandé sur
SBSTP
2014-05-28 18:48:30
1 réponses
Vous pouvez probablement vérifier l'état de L'erreur ResponseError. Quand une API est hors ligne qui est 0 (Jusqu'à angular 1.3.18) ou -1 (depuis Angular 1.3.19):
angular.module("services.interceptor", arguments).config(function($httpProvider) {
$httpProvider.interceptors.push(function($q) {
return {
responseError: function(rejection) {
if(rejection.status <= 0) {
window.location = "noresponse.html";
return;
}
return $q.reject(rejection);
}
};
});
});
64
répondu
XGreen
2015-12-22 14:10:10