vue 新版本axios 拦截器失效
时间: 2023-09-06 19:02:23 浏览: 99
【JavaScript源代码】vue axios拦截器常用之重复请求取消.docx
新版本的Vue已经不再内置axios,而是推荐使用vue-axios插件,它是axios的Vue插件形式。所以,如果你使用的是新版本的Vue,你需要手动安装vue-axios并在项目中使用它才能拦截请求。
首先,你需要安装vue-axios插件。你可以在终端中运行以下命令来安装它:
```
npm install vue-axios
```
安装完成后,你需要在你的主文件(通常是main.js)中导入vue-axios并将它作为Vue的插件使用,以便在整个应用程序中使用它。代码如下:
```javascript
import Vue from 'vue'
import axios from 'axios'
import VueAxios from 'vue-axios'
Vue.use(VueAxios, axios)
```
接下来,你可以在你的组件中使用vue-axios来发起请求并添加拦截器。你可以这样做:
```javascript
import axios from 'axios'
axios.interceptors.request.use(
function(config) {
// 在请求发送之前做一些处理
return config
},
function(error) {
// 请求错误时做一些处理
return Promise.reject(error)
}
)
axios.interceptors.response.use(
function(response) {
// 对响应数据做一些处理
return response
},
function(error) {
// 对错误响应做一些处理
return Promise.reject(error)
}
)
```
请注意,你在这个例子中使用的是全局的axios实例,它不再是Vue的插件。所以你需要手动导入axios并使用它。
使用这种方式,你的新版本Vue中的axios拦截器就可以正常使用了。拦截器将在请求发送之前和响应返回之后进行处理,让你可以对请求和响应进行自定义操作。
阅读全文