Angular白名单&&Angular拦截器 全局通用
//angular 白名单全局通用
app.config([
'$compileProvider',
function ($compileProvider) {
$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|itms-services|ftp|javascript|mailto|tel|file|sms):/);
// Angular v1.2 之前使用 $compileProvider.urlSanitizationWhitelist(...)
}
]);
//angular拦截器 声明
app.config([ '$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push('httpInterceptor');
}]);
//使用拦截器
app.factory('httpInterceptor', [ '$q', '$injector',function($q, $injector) {
var httpInterceptor = {
'responseError' : function(response) {
//401情况下
if (response.status == 401){
var rootScope = $injector.get('$rootScope');
var state = $injector.get('$rootScope').$state.current.name;
rootScope.stateBeforLogin = state;
rootScope.$state.go("login");
return $q.reject(response);
//不等于200情况下
} else if (response.status != 200){
showMsg(message,'center');
removeLoading("test");
return $q.reject(response);
}
},
'response' : function(response) {
return response;
}
}
return httpInterceptor;
}
]);