在axios中创建全局变量可以通过axios的拦截器来实现。拦截器允许我们在发送请求或接收响应之前对它们进行拦截和处理。
首先,我们需要创建一个axios实例,并设置一个全局变量来存储需要共享的数据。例如,我们可以创建一个名为api
的axios实例,并在其上设置一个全局变量globalData
:
import axios from 'axios';
// 创建axios实例
const api = axios.create({
baseURL: 'https://api.example.com',
});
// 设置全局变量
api.globalData = {
token: '',
userId: '',
};
export default api;
在上面的示例中,我们创建了一个名为api
的axios实例,并设置了baseURL
为https://api.example.com
。然后,我们通过api.globalData
来设置和访问全局变量,例如token
和userId
。
接下来,我们可以使用拦截器来在请求发送之前或响应返回之后对数据进行处理。例如,我们可以在请求发送之前设置请求头中的Authorization
字段:
import api from './api';
// 请求拦截器
api.interceptors.request.use(config => {
// 在请求头中添加token
config.headers.Authorization = api.globalData.token;
return config;
}, error => {
return Promise.reject(error);
});
在上面的示例中,我们使用api.interceptors.request.use
来添加请求拦截器。在拦截器中,我们可以修改请求的配置,例如在请求头中添加Authorization
字段,并将其值设置为全局变量token
。
通过以上方式,我们可以在axios中创建全局变量,并在请求中使用和修改这些全局变量。这样可以方便地在整个应用程序中共享数据,并且可以根据需要进行拦截和处理。
请注意,以上示例中的代码是基于axios的使用,如果你使用其他的HTTP库或框架,具体的实现方式可能会有所不同。
领取专属 10元无门槛券
手把手带您无忧上云