AngularJS在module.config中更改URL

前端之家收集整理的这篇文章主要介绍了AngularJS在module.config中更改URL前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 angularjs App&中使用Restangular使用setErrorInterceptor在一个地方处理响应错误.如果发生错误,我想将用户重定向登录页面.我知道唯一的供应商和常量可在配置阶段注入.

var app = angular.module('ourstandApp',['ngRoute','restangular','ui.bootstrap','ngCookies','angularFileUpload']);
    // Global configuration

    app.config(function (RestangularProvider,baseRequestConfig,$routeProvider,urlsProvider) {
        var getBaseRequestUrl = function () {
            return baseRequestConfig.protocol + "://" + baseRequestConfig.hostName + ":" + baseRequestConfig.portNumber + baseRequestConfig.resourcePath;
    }
        var initializeRoute = function () {
            $routeProvider.when('/',{
                controller: LoginController,templateUrl: 'views/login.html'
            }).
            otherwise({
                redirectTo: '/'
            });
        }

        initializeRoute();
        RestangularProvider.setBaseUrl(getBaseRequestUrl());
        RestangularProvider.setErrorInterceptor(function (resp) {
            goToLogin();  //  i want to change url to login page
            return false;
        });
    });

解决方法

处理此问题的正确方法是在angularjs的run方法中配置restangular

app.run(Restangular,$location){
    Restangular.setErrorInterceptor(function (resp) {
        $location.path('/login');
        return false;
    });
}

猜你在找的Angularjs相关文章