vue3引入axios
1.下载axios
npm install axios --save
2.在scr目录下自定义一个 reques t文件夹
3.在刚刚建的文件夹中创建一个引入axios的api.js文件
4.api.js里引入
import axios from 'axios'
5.设置默认前缀以及请求时间传参类型拦截器等等.....
import axios from 'axios'
import { ElMessage } from 'element-plus' //这个是引入的Element 3.0的提示消息
const service = axios.create({
baseURL: 'http://........', // 自己项目中请求地址前缀部分
timeout: 60000, // 请求超时时间毫秒
withCredentials: true, // 异步请求携带cookie
headers: {
// 设置后端需要的传参类型
'Content-Type': 'application/json',
'token': 'your token',
'X-Requested-With': 'XMLHttpRequest',
},
})
// 添加请求拦截器
service.interceptors.request.use(
function (config) {
// 在发送请求之前做些什么
return config
},
function (error) {
// 对请求错误做些什么
console.log('出错了',error)
return Promise.reject(error)
}
)
// 添加响应拦截器
service.interceptors.response.use(
function (response) {
console.log('响应了',response)
// 这个地方响应了数据该做点什么 做想做的事情
// dataAxios 是 axios 返回数据中的 data
const dataAxios = response.data
// 这个状态码是和后端约定的
// const code = dataAxios.reset
return dataAxios
},
function (error) {
// 对响应错误做点什么
console.log('出错了',error)
ElMessage({
message: '接口报错了',
type: 'success',
})
return Promise.reject(error)
}
)
export default service //最后暴露出去
6.在src目录下新建一个统一储存接口的地方 比如创建一个文件夹apis 文件夹下可以分模块来放置对应的请求的接口 然后引入刚刚设置的axios
import httpRequest from '../request/api'
// 获取用户信息
export function userLogin(param) {
return httpRequest({
url: '/posts', //自己请求的接口
method: 'get', //请求方式
data: param, //参数
})
}
7.在项目中使用
<script setup>
import { onMounted } from 'vue'
import { userLogin } from '@/apis/login' //这里引入的就是刚刚添加的接口
function getUserInfo() {
const param = {rows:10,page:1} //自己组装参数
userLogin(param).then((res) => {
console.log(res)
})
}
/**
相当于Vue2的mounted生命周期
*vue3没有created 和beforeCreated了
*
*/
onMounted(() => {
console.log('222')
getUserInfo()
})
</script>


浙公网安备 33010602011771号