我Restangular
在我的 angularjs 应用程序中使用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;
});
});