Soh*_*ani 3 angularjs angular-routing restangular
我Restangular在我的angularjs App中使用setErrorInterceptor并用于在一个地方处理响应错误.如果发生错误,我想将用户重定向到登录页面.我知道唯一的providers&constants可注射配置阶段.
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;
});
});
Run Code Online (Sandbox Code Playgroud)
Soh*_*ani 15
处理此问题的正确方法是在angularjs run方法中配置restangular
app.run(Restangular , $location){
Restangular.setErrorInterceptor(function (resp) {
$location.path('/login');
return false;
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7500 次 |
| 最近记录: |