angular.js - ui-router的$stateProvider和$httpProvider冲突??有ui-router和登录拦截
怪我咯
怪我咯 2017-05-15 17:10:51
0
1
532
var myApp = angular.module('myApp',['ui.router'])
.factory('httpInterceptor',['$q','$rootScope',function ($q,$rootScope)
{
    return {
        'response': function(response) {
           //拦截所有的服务器端响应
           console.log("hahahah");
           //可以通过status code来检查该请求是否因为没登录而被后端驳回了
           if(response.status === "错误码"){
               //跳转到登录页面
           }
           
           //也可以通过响应的数据来判断
           if(response.data === "你的各种判断逻辑"){
               //跳转到登录页面
           }
           
           //具体如何判断“未登录错误”,取决于你后端api的实现
        }
    }
}])
//配置路由
.config(['$stateProvider','$urlRouterProvider',function($stateProvider,$urlRouterProvider){
    //设置默认路由
    $urlRouterProvider.otherwise("/project/all");
    
    //设置指定路由
    $stateProvider
    //项目
    .state('project',{
        url: '/project',
        templateUrl: "template/project/project.html",
        controller: "projectCtrl"
    }).state('project.new', {
        url: '/new',
        templateUrl: "template/project/project_new.html"
    })
    //任务
    .state('task',{
        url: '/task',
        templateUrl: "template/task.html",
        controller: "taskCtrl"
    })
    //团队
    .state('team',{
        url: '/team',
        templateUrl: "template/team.html",
        controller: "teamCtrl"
    });
    //这里是问题的所在,启用拦截工厂方法,之前写的路由内容不见了。
    //怎么处理才能,即有ui-router和登录拦截
//    $httpProvider.interceptors.push('httpInterceptor');
    
}])
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
大家讲道理

谢邀。

你试试

myApp.config(function ($httpProvider) {
    $httpProvider.interceptors.push('httpInterceptor');
});
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板