我在
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; }); });