vue 给axios 响应拦截处理
时间: 2023-10-18 17:20:38 浏览: 101
在Vue中,可以使用axios拦截器对请求和响应进行拦截处理。响应拦截器可以用于统一处理接口返回的数据,例如对数据进行格式化、判断是否登录等操作。
下面是一个简单的响应拦截器示例:
```javascript
import axios from 'axios'
import router from '../router'
axios.interceptors.response.use(
response => {
// 对响应数据进行处理
const res = response.data
if (res.code !== 200) {
// 如果返回的状态码不是200,就提示错误信息
alert(res.message || 'Error')
return Promise.reject(new Error(res.message || 'Error'))
} else {
return res
}
},
error => {
// 对响应错误进行处理
console.log('err' + error) // for debug
alert(error.message)
return Promise.reject(error)
}
)
```
在上面的代码中,我们使用了axios的interceptors方法,对响应进行了拦截处理。首先对响应数据进行处理,如果接口返回的状态码不是200,则提示错误信息,并返回一个rejected的Promise,否则返回响应数据。在响应错误的情况下,我们也做了相应的处理,输出错误日志并返回一个rejected的Promise。
在使用axios发送请求时,响应拦截器会自动拦截响应数据并进行处理。例如:
```javascript
axios.get('/api/user').then(response => {
console.log(response)
}).catch(error => {
console.log(error)
})
```
阅读全文