0
votes

I have an angularjs project. I am just wondering, how to show the user a message, if a requested view/partial is not found (HTTP 404). At the moment, angular starts the request and gets a 404 response including the error-html, but the user doesn't see any change to the website.

1

1 Answers

1
votes

Add an $http interceptor (scroll down on this page) for 'responseError'

angular.module("app").config(function($provide, $httpProvider) {

// register the interceptor as a service
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
  return {

   'responseError': function(response) {
      if (response.status == 404) {
        // user hit a 404 -- you can check response.url to see if it matches
        // your template directory and act accordingly
        return responseOrNewPromise
      }
      return $q.reject(rejection);
    }
  };
});

$httpProvider.interceptors.push('myHttpInterceptor');

});