【问题标题】:How to handle angular-ui-router and template loading errors?如何处理 angular-ui-router 和模板加载错误?
【发布时间】:2015-10-29 23:43:09
【问题描述】:

使用 angular-ui-router,我有类似的东西:

.state('page', {
    url: '/page',
    templateUrl: '/page.html'
})

此模板 URL 可能会返回“401 Unauthorized”。当路由器尝试加载 url 并处理它时,是否可以处理 http 响应,以便我可以显示一些消息或重定向用户?

【问题讨论】:

标签: angularjs angular-ui-router


【解决方案1】:

您可以为您的应用程序注册一个拦截器。这个拦截器的实现

    $httpProvider.responseInterceptors.push([
      '$q',
      '$location',
      '$rootScope',
     (function($q, $location, $rootScope) {
  return {
    responseError: function(response) {
      if (response.status === 401) {
          console.log(response.status + ' intercepted');
          $location.path('/unauthorized/');
          $q.reject(response);
      }
      return response;
    }
  };
});
]

在此之后,您需要使用自定义页面模板在您的州注册 /unauthorized。

【讨论】:

    猜你喜欢
    • 2015-10-16
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 1970-01-01
    相关资源
    最近更新 更多