在初始化Axios实例时,可以通过设置默认的headers选项来设置全局的授权头。如下所示:
import axios from 'axios';
axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
Axios提供了拦截器机制,可以在发送请求或响应到达then/catch之前对其进行修改。可以使用拦截器向所有请求添加授权头。如下所示:
import axios from 'axios';
axios.interceptors.request.use((config) => {
const token = localStorage.getItem('token');
if (token) {
config.headers.Authorization = `Bearer ${token}`;
}
return config;
});
在上面的示例中,我们将授权头添加到config.headers中,并在返回修改后的config之前返回它。 您也可以在响应拦截器中添加授权头。
除了在Axios实例或拦截器中设置授权头之外,您还可以在请求中直接设置授权头。如下所示:
import axios from 'axios';
axios.get('/api/user', {
headers: {
Authorization: `Bearer ${localStorage.getItem('token')}`,
},
});