1 安装依赖:
npm install axios --save
2 在需要使用的地方引入:
import axios from 'axios'
3 使用
3.1 创建axios实例
const request = axios.create({
// 每次通过request对象进行请求的时候都会在前面带/api这个路径,这里没有用"http://xx:8081/api",是因为这里做了proxy配置代理,因为跨域了
baseURL: '/api',
timeout: 600 // 请求超时时间
})
3.2 使用axios实例进行请求
// 获取用户信息
getUserInfo() {
return request({
method: 'GET',
url: '/user/getuserInfo',
})
}
......
xx.getUserInfo.then(data=>{
console.log(data)
}).catch(error=>{
console.log(error)
})
4 这里存在一个跨域的问题,我是本地跑项目localhost:8080,而后端服务器地址假设是:http://192.168.10.155:8080,于是存在跨域的问题,这里在vue.config.js中进行一个代理的配置,来解决跨域的问题
devServer: {
proxy: {
'/api': {
target: 'http://192.168.10.155:8080',
ws: false,
changeOrigin: true
}
}
}
这里的配置配合前面的axios请求路径结合起来是:
axios请求url是 /api/user/getuserInfo(/api是创建时设置的baseURL);
因为vue.config.js中配置了proxy代理,于是/api被拦截,实际请求地址被替换为http:192.168.10.155:8080/api/user/getuserInfo