axios 如何在请求拦截器里面修改baseURL
时间: 2024-09-15 19:03:12 浏览: 46
Vue封装Axios请求和拦截器的步骤
在使用axios进行HTTP请求时,请求拦截器可以帮助我们在请求发送之前执行一些操作,例如修改请求的配置项。要修改拦截器中的`baseURL`,你需要在创建axios实例时添加请求拦截器,并在其中修改`baseURL`。以下是一个示例:
```javascript
// 引入axios
import axios from 'axios';
// 创建axios实例
const instance = axios.create({
baseURL: '原来的baseURL'
});
// 添加请求拦截器
instance.interceptors.request.use(function (config) {
// 在发送请求之前修改baseURL
config.baseURL = '新的baseURL';
return config;
}, function (error) {
// 对请求错误做些什么
return Promise.reject(error);
});
// 使用实例发送请求
instance.get('/someUrl')
.then(response => {
console.log(response);
})
.catch(error => {
console.log(error);
});
```
在上面的代码中,我们首先创建了一个axios实例,并设置了一个初始的`baseURL`。然后我们添加了一个请求拦截器,在拦截器中我们通过修改`config.baseURL`属性来改变请求的基础URL。这样,无论是通过这个实例发送get、post还是其他类型的请求,都会使用新的`baseURL`。
需要注意的是,一旦实例被创建,它就会拥有自己的`baseURL`,如果你需要针对不同情况使用不同的`baseURL`,你可能需要创建多个axios实例,每个实例有自己的`baseURL`设置。
阅读全文