我有一个axios拦截器用于我的反应应用程序,我希望有条件地应用授权标头(某些服务正在点击需要auth标头的内部服务,其他服务在外部并且包含它失败)。我在axios repo上看到,您可以轻松创建包含标题的实例,如下所示:
var instance = axios.create({
baseURL: 'https://some-domain.com/api/',
timeout: 1000,
headers: {'X-Custom-Header': 'foobar'}
});
但在这种情况下,标题将始终包含在内。在我的拦截器中,我尝试过几次尝试:
axios.interceptors.request.use(function ( config ) {
if ( serviceRequiresToken(config.url) ) {
config.headers[ config.method ] = {'Authorization': this.props.userData.token.authorizationHeader};
}
return config;
}, function ( error ) {
return Promise.reject(error);
});
但是当我使用它时,永远不会进行调用(我没有获得403或任何东西,它只是不发送请求)。我也尝试了config.headers.push({'auth..':'...'})
,但情况类似。