Javascript 特定端点的角度集标头角度1
我环顾四周,但找不到适合我的东西。 我有两个端点,一个用于我可以访问的后端,另一个用于外部服务 在我的.run中,我有一个拦截器,它将此头添加到向我的服务器发出的每个请求中Javascript 特定端点的角度集标头角度1,javascript,angularjs,node.js,angular-factory,Javascript,Angularjs,Node.js,Angular Factory,我环顾四周,但找不到适合我的东西。 我有两个端点,一个用于我可以访问的后端,另一个用于外部服务 在我的.run中,我有一个拦截器,它将此头添加到向我的服务器发出的每个请求中 $http.defaults.headers.common['Authorization']='JWT'+'token'; 外部api的服务 service('CorsRequest', function ($http) { var baseUrl = 'https://min-api.cryp
$http.defaults.headers.common['Authorization']='JWT'+'token';
外部api的服务
service('CorsRequest', function ($http) {
var baseUrl = 'https://min-api.cryptocompare.com/';
this.get = function (endpoint) {
return $http.get(baseUrl + endpoint, { headers: {"Content-Type": 'text/plain'}});
}
this.post = function (endpoint, postData) {
return $http.post(baseUrl + endpoint, postData);
}
})
当向该api发出请求时,第二个端点返回飞行前错误,因为该授权
头被添加到该api中
如何检查请求是否发送到我的服务器,添加授权头,如果不忽略,则添加授权头。以下是我如何按照Slava的建议使用http拦截器修复的 为它创建了一个工厂,并使用喷油器来获得我创建的服务
.factory('ApiInterceptor', function($localStorage, $injector){
console.log('here')
return {
request: function(config) {
var UserService = $injector.get('UserService');
if(config.url.indexOf(BASE_URL) > -1) {
config.headers['Authorization'] = 'JWT' + ' ' + UserService.getCurrentUserToken() ;
}
// console.log(config)
return config;
},
response: function(response) {
// console.log(response.data);
return response;
}
}
})
然后添加配置
.config(function($httpProvider) {
$httpProvider.interceptors.push('ApiInterceptor');
})
不要将
授权添加为默认设置,而是仅在需要时直接添加到特定的$http
调用。若你们在寻找通用的方法,你们可以使用http中间接受器。我用一个拦截器修复了它!非常感谢。