首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >AngularJs routeProvider http状态403

AngularJs routeProvider http状态403
EN

Stack Overflow用户
提问于 2014-07-31 00:18:46
回答 1查看 27.9K关注 0票数 20

我在服务器端进行身份验证和授权。

在angularJs中,我使用routeProvider进行路由,如下所示。

代码语言:javascript
复制
$routeProvider.
        when('/', {
            templateUrl: 'partials/_home',
            controller: 'HomeCtrl'
        }).
        when('/home', {
            templateUrl: 'partials/_home',
            controller: 'HomeCtrl'
        }).
        when('/users', {
            templateUrl: 'partials/_users',
            controller: 'UserCtrl'
        }).
        when('/users/:id', {
            templateUrl: 'partials/_userForm',
            controller: 'UserCtrl'
        }).
        otherwise({
            redirectTo: '/'
        });

这里是要解决的问题,当我得到一个403角度不显示服务器页面,它只是不做任何事情。

有没有人有关于如何处理这个问题的建议?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-31 01:27:45

AngularJS拦截器-已更新到v1.4.2

拦截器是通过将拦截器添加到$httpProvider数组来注册到$httpProvider.interceptors的服务工厂。工厂被调用并注入依赖项(如果指定),并返回拦截器。

要阅读更多内容,请访问$http angularjs Doc

部分配置(部分配置)

代码语言:javascript
复制
.config(function ($httpProvider) {
    $httpProvider.interceptors.push('responseObserver');
})

响应观察者工厂

403.html500.html是现有的超文本标记语言文件,样式很好,并为用户提供了一些帮助内容。

代码语言:javascript
复制
.factory('responseObserver', function responseObserver($q, $window) {
    return {
        'responseError': function(errorResponse) {
            switch (errorResponse.status) {
            case 403:
                $window.location = './403.html';
                break;
            case 500:
                $window.location = './500.html';
                break;
            }
            return $q.reject(errorResponse);
        }
    };
});

要扩展有关拦截器的知识:http://djds4rce.wordpress.com/2013/08/13/understanding-angular-http-interceptors/

票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25041929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档