vue项目中封装axios方法是什么?
Admin 2021-10-22 群英技术资讯 654 次浏览
本文给大家分享的是关于vue项目中封装axios的内容,对于实现封装axios下面有详细的介绍及示例代码,需要的朋友可以参考,接下来就跟随小编来学习一下吧。
在使用Vue.js框架开发前端项目时,会经常发送ajax请求服务端接口,在开发过程中,需要对axios进一步封装,方便在项目中的使用。
在本地创建Vue项目,目录结构如下:
- public 静态资源文件
- src
|- assets 静态资源目录
|- components 公共组件目录
|- http axios封装目录
|- router 路由管理目录
|- store 状态管理目录
|- views 视图组件目录
|- App.vue 根组件
|- main.js 入口文件
- package.json npm配置文件
在Vue项目中创建 http目录 作为axios的管理目录,在 http目录 下两个文件,分别是
/http/api.js文件代码如下:
export default { 'users_add': '/users/add', 'users_find': '/users/find', 'users_update': '/users/update', 'users_delete': '/users/delete' }
/http/index.js文件代码如下:
import axios from 'axios' import api from './api' //创建axios实例对象 let instance = axios.create({ baseURL: 'http://localhost:3000', //服务器地址 timeout: 5000 //默认超时时长 }) //请求拦截器 instance.interceptors.request.use(config=>{ //此处编写请求拦截的代码,一般用于弹出加载窗口 console.log('正在请求……') return config },err=>{ console.error('请求失败',err) }) //响应拦截器 instance.interceptors.response.use(res=>{ //此处对响应数据做处理 console.log('请求成功!') return res //该返回对象会传到请求方法的响应对象中 },err=>{ // 响应错误处理 console.log('响应失败!',err) // return Promise.reject(err); }) //封装axios请求方法,参数为配置对象 //option = {method,url,params} method为请求方法,url为请求接口,params为请求参数 async function http(option = {}) { let result = null if(option.method === 'get' || option.method === 'delete'){ //处理get、delete请求 await instance[option.method]( api[option.url], {params: option.params} ).then(res=>{ result = res.data }).catch(err=>{ result = err }) }else if(option.method === 'post' || option.method === 'put'){ //处理post、put请求 await instance[option.method]( api[option.url], option.params ).then(res=>{ result = res.data }).catch(err=>{ result = err }) } return result } export default http
在main.js入口文件中引入封装好的 /http/index.js 文件,示例代码如下:
import Vue from 'vue' import App from './App.vue' import router from './router' import store from './store' import http from './http' Vue.config.productionTip = false Vue.prototype.$http = http Vue.use(Elementui) new Vue({ router, store, render: h => h(App) }).$mount('#app')
在App.vue根组件中测试axios请求,示例代码如下:
<template> <div> <button @click="getDate">发送请求</el-button> </div> </template> <script> export default { methods: { getDate(){ this.$http({ method: 'get', url: 'users_find' }).then(res=>{ console.log(res) }) } } } </script>
这里需要有 http://localhost:3000/users/find 接口,不然请求会失败!
到此,在Vue项目中就完成了简单的axios封装,当然,大家也可以根据自己的实际需求对axios进行封装,本文方法仅供参考,需要的朋友可以了解看看,希望对大家学习了解封装axios有帮助,想要了解更多可以继续浏览群英网络其他相关的文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了react fiber执行原理示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章主要为大家详细介绍了原生JavaScript实现贪吃蛇游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
在开发过程中,遇到异常错误是比较常见的,因此掌握异常处理很有必要。那么如果是未知异常我们要如何处理呢?下面给大家分享关于angular 异常处理的内容,感兴趣的朋友可以参考。
这篇文章主要介绍了Cocos项目中技能冷却效果怎样实现,过程是怎样相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Cocos项目中技能冷却效果怎样实现,过程是怎样文章都会有所收获,下面我们一起来看看吧。
本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于常用的click事件的相关内容,包括了onclick异步性、同步性、事件触发的先后顺序以及时间注册等内容,下面一起来看一下,希望对大家有帮助。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008