vue2封装axios接口请求
时间: 2023-09-16 14:12:20 浏览: 133
vue 组件的封装之基于axios的ajax请求方法
好的,这是一个简单的Vue2封装Axios接口请求的示例代码:
1. 安装Axios
```
npm install axios --save
```
2. 创建一个Api.js文件,在其中封装Axios请求
```
import axios from 'axios'
// 创建一个axios实例
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API,
timeout: 5000 // 请求超时时间
})
// 请求拦截器
service.interceptors.request.use(
config => {
// 在请求发送之前做一些处理,例如添加token等等
return config
},
error => {
console.log(error)
return Promise.reject(error)
}
)
// 响应拦截器
service.interceptors.response.use(
response => {
// 在响应之后做一些处理
const res = response.data
if (res.code !== 200) {
console.log(res.msg)
return Promise.reject(res)
} else {
return res
}
},
error => {
console.log(error)
return Promise.reject(error)
}
)
// 封装get请求
export function get(url, params) {
return service({
url: url,
method: 'get',
params: params
})
}
// 封装post请求
export function post(url, data) {
return service({
url: url,
method: 'post',
data: data
})
}
```
3. 在Vue组件中使用Api.js中的方法
```
import { get, post } from '@/api/Api.js'
export default {
name: 'Example',
methods: {
// get请求示例
async getUserInfo() {
try {
const res = await get('/user/info', { id: 1 })
console.log(res)
} catch (error) {
console.log(error)
}
},
// post请求示例
async login() {
try {
const res = await post('/user/login', { username: 'admin', password: '123456' })
console.log(res)
} catch (error) {
console.log(error)
}
}
}
}
```
以上就是一个简单的Vue2封装Axios接口请求的示例代码,希望能对你有所帮助。
阅读全文