我有一个在我的角应用中定义的请求拦截器,看起来像:
precinct.factory('httpRequestInterceptor', function($rootScope){
return {
request: function(config){
if($rootScope.myToken){
config.headers['custom-token'] = $rootScope.myToken;
}
return config;
}
}
});
precinct.config(function($httpProvider){
$httpProvider.interceptors.push('httpRequestInterceptor');
});
以上内容将API令牌附加到我的所有AJAX请求上,并允许我在Angular App和后端端点之间进行身份验证。
每隔一段时间,我会向第三方API端点发送AJAX请求,该请求不支持custom-token
标头。
如何将特定请求排除在拦截器附加到标题的情况下?
易于选择...在$http
配置中添加标志,告诉您的拦截器忽略它,例如
request: function(config) {
if (!config.skipInterceptor && $rootScope.myToken) {
// and so on
}
return config;
}
和
$http.get('http://some.external.api', {
skipInterceptor: true
})