电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Vue項(xiàng)目中如何封裝axios(統(tǒng)一管理http請(qǐng)求)

瀏覽:6日期:2022-09-30 11:22:20
1、需求說(shuō)明

在使用Vue.js框架開發(fā)前端項(xiàng)目時(shí),會(huì)經(jīng)常發(fā)送ajax請(qǐng)求服務(wù)端接口,在開發(fā)過程中,需要對(duì)axios進(jìn)一步封裝,方便在項(xiàng)目中的使用。

2、Vue項(xiàng)目結(jié)構(gòu)

在本地創(chuàng)建Vue項(xiàng)目,目錄結(jié)構(gòu)如下:

- public 靜態(tài)資源文件 - src |- assets 靜態(tài)資源目錄 |- components 公共組件目錄 |- http axios封裝目錄 |- router 路由管理目錄 |- store 狀態(tài)管理目錄 |- views 視圖組件目錄 |- App.vue 根組件 |- main.js 入口文件 - package.json npm配置文件

在Vue項(xiàng)目中創(chuàng)建 http目錄 作為axios的管理目錄,在 http目錄 下兩個(gè)文件,分別是

/http/index.js 封裝axios方法的文件 /http/api.js 統(tǒng)一管理接口的文件 3、代碼示例

/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’//創(chuàng)建axios實(shí)例對(duì)象let instance = axios.create({ baseURL: ’http://localhost:3000’, //服務(wù)器地址 timeout: 5000 //默認(rèn)超時(shí)時(shí)長(zhǎng)})//請(qǐng)求攔截器instance.interceptors.request.use(config=>{ //此處編寫請(qǐng)求攔截的代碼,一般用于彈出加載窗口 console.log(’正在請(qǐng)求……’) return config},err=>{ console.error(’請(qǐng)求失敗’,err)})//響應(yīng)攔截器instance.interceptors.response.use(res=>{ //此處對(duì)響應(yīng)數(shù)據(jù)做處理 console.log(’請(qǐng)求成功!’) return res //該返回對(duì)象會(huì)傳到請(qǐng)求方法的響應(yīng)對(duì)象中},err=>{ // 響應(yīng)錯(cuò)誤處理 console.log(’響應(yīng)失??!’,err) // return Promise.reject(err);})//封裝axios請(qǐng)求方法,參數(shù)為配置對(duì)象//option = {method,url,params} method為請(qǐng)求方法,url為請(qǐng)求接口,params為請(qǐng)求參數(shù)async function http(option = {}) { let result = null if(option.method === ’get’ || option.method === ’delete’){ //處理get、delete請(qǐng)求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請(qǐng)求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 = falseVue.prototype.$http = httpVue.use(Elementui)new Vue({ router, store, render: h => h(App)}).$mount(’#app’)

在App.vue根組件中測(cè)試axios請(qǐng)求,示例代碼如下:

<template> <div> <button @click='getDate'>發(fā)送請(qǐng)求</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 接口,不然請(qǐng)求會(huì)失??!

4、效果演示

啟動(dòng)Vue項(xiàng)目,在瀏覽器中訪問Vue項(xiàng)目的地址,我的地址是 http://localhost:8080,點(diǎn)擊按鈕發(fā)送請(qǐng)求,獲取的結(jié)果如下圖所示。

到此,在Vue項(xiàng)目中就完成了簡(jiǎn)單的axios封裝,你也可以根據(jù)自己的實(shí)際需求對(duì)axios進(jìn)行封裝,本文只是提供參考。

到此這篇關(guān)于Vue項(xiàng)目中如何封裝axios(統(tǒng)一管理http請(qǐng)求)的文章就介紹到這了,更多相關(guān)Vue封裝axios管理http請(qǐng)求內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: IOS
相關(guān)文章:
主站蜘蛛池模板: 成都装修公司-成都装修设计公司推荐-成都朗煜装饰公司 | TYPE-C厂家|TYPE-C接口|TYPE-C防水母座|TYPE-C贴片-深圳步步精 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 光伏家 - 太阳能光伏发电_分布式光伏发电_太阳能光伏网 | 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 发电机组|柴油发电机组-批发,上柴,玉柴,潍柴,康明斯柴油发电机厂家直销 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 拖鞋定制厂家-品牌拖鞋代加工厂-振扬实业中国高端拖鞋大型制造商 | 服务器之家 - 专注于服务器技术及软件下载分享 | 济南侦探调查-济南调查取证-山东私家侦探-山东白豹调查咨询公司 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | COD分析仪|氨氮分析仪|总磷分析仪|总氮分析仪-圣湖Greatlake | 量子管通环-自清洗过滤器-全自动反冲洗过滤器-沼河浸过滤器 | 不锈钢监控杆_监控立杆厂家-廊坊耀星光电科技有限公司 | 广州监控安装公司_远程监控_安防弱电工程_无线wifi覆盖_泉威安防科技 | 上海地磅秤|电子地上衡|防爆地磅_上海地磅秤厂家–越衡称重 | 三氯异氰尿酸-二氯-三氯-二氯异氰尿酸钠-优氯净-强氯精-消毒片-济南中北_优氯净厂家 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 北京租车牌|京牌指标租赁|小客车指标出租 | 垃圾压缩设备_垃圾处理设备_智能移动式垃圾压缩设备--山东明莱环保设备有限公司 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 杭州画室_十大画室_白墙画室_杭州美术培训_国美附中培训_附中考前培训_升学率高的画室_美术中考集训美术高考集训基地 | 污水提升器,污水提升泵,污水提升装置-德国泽德(zehnder)水泵系统有限公司 | 天然气分析仪-液化气二甲醚分析仪|传昊仪器 | 水厂污泥地磅|污泥处理地磅厂家|地磅无人值守称重系统升级改造|地磅自动称重系统维修-河南成辉电子科技有限公司 | 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 质构仪_鱼糜弹性仪-上海腾拔仪器科技有限公司 | 济南展厅设计施工_数字化展厅策划设计施工公司_山东锐尚文化传播有限公司 | 东亚液氮罐-液氮生物容器-乐山市东亚机电工贸有限公司 | 彼得逊采泥器-定深式采泥器-电动土壤采样器-土壤样品风干机-常州索奥仪器制造有限公司 | 自动配料系统_称重配料控制系统厂家| LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 电缆桥架生产厂家_槽式/梯式_热镀锌线槽_广东东莞雷正电气 | 金联宇电缆总代理-金联宇集团-广东金联宇电缆实业有限公司 | 工业车间焊接-整体|集中除尘设备-激光|等离子切割机配套除尘-粉尘烟尘净化治理厂家-山东美蓝环保科技有限公司 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | 微水泥_硅藻泥_艺术涂料_艺术漆_艺术漆加盟-青岛泥之韵环保壁材 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 |