Angular: $ http 404 gestion des erreurs
j'ai un code HTML avec 2 ng-comprend. Prendre en compte si l'un des ng-inclure la src n'est pas présent dans le serveur. comme de maintenant, il serait juste de charge html vide et dans le navigateur de la console dirais http 404 fichier non trouvé.
Donc dans ce cas, je veux charger une page d'Erreur par Défaut (qui est présent dans le serveur) dans cette div, je l'.e la moitié montrant Page d'Erreur par Défaut et d'autres avec de la bonne div qui a été chargé par nginclude.
Ma logique est, je suis en utilisant un http interceptor, où j'ai d'intercepter toutes http appels.chaque fois qu'une 404 qui se passe, je veux retourner à la page d'Erreur par Défaut qui doit être chargé dans le div. si c'est comme se moquant d'un bon http appel, mais l'envoi d'une page d'erreur au lieu de cela, ce qui je suppose doit être chargé à la bonne div.
Mais ce n'est pas happeneing :). J'ai essayé avec de fenêtre par défaut.load("). Mais ensuite, il se charge en haut de la page et est présent à travers les pages.
Ou devrais-je capturer l'div id (si oui, comment?) et puis faire tat de charge à identification de l'Erreur par Défaut HTML?
Besoin de votre pensée dans cette.
source d'informationauteur Aki
Vous devez vous connecter pour publier un commentaire.
À gérer ce genre de situations, vous pouvez utiliser http intercepteurs (trouver les docs ici: $http).
Intercepteur pour attraper la réponse 404, la charge de la 404.html la page de votre serveur et l'
de le définir comme un données pour la réponse initiale avec le statut code 200.
J'ai créé un projet qui montre comment le résoudre.
Référentiel: https://github.com/matys84pl/angularjs-nginclude-handling-404/
Regarder de plus près à la main.js fichier.
J'ai fait quelque chose de similaire en passant souhaité ng-inclure l'url par le biais de $http directement avant le remplissage de la ng-valeur.
L'astuce ici est de passage $templateCache dans le cache argument $http - ce qui signifie que la prochaine url est stockée dans le cache même que ng-inclure les utilisations, et donc, quand vous trouver un modèle valide et de le fixer dans le templateUrl propriété, ng-inclure n'a pas besoin d'aller chercher à nouveau le modèle.