angulaire.js - Conflit $stateProvider et $httpProvider de l'interface utilisateur ? ? Il existe une interception de routeur ui et de connexion
怪我咯
怪我咯 2017-05-15 17:10:51
0
1
541
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');
    
}])
怪我咯
怪我咯

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

répondre à tous(1)
大家讲道理

Merci pour l'invitation.

Vous l'essayez

myApp.config(function ($httpProvider) {
    $httpProvider.interceptors.push('httpInterceptor');
});
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal