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

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

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

瀏覽:2日期:2022-09-30 11:22:20
1、需求說明

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

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

在本地創(chuàng)建Vue項目,目錄結(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項目中創(chuàng)建 http目錄 作為axios的管理目錄,在 http目錄 下兩個文件,分別是

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

在App.vue根組件中測試axios請求,示例代碼如下:

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

4、效果演示

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

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

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

標(biāo)簽: IOS
相關(guān)文章:
主站蜘蛛池模板: 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | 嘉兴泰东园林景观工程有限公司_花箱护栏 | 防渗膜厂家|养殖防渗膜|水产养殖防渗膜-泰安佳路通工程材料有限公司 | 自动化生产线-自动化装配线-直流电机自动化生产线-东莞市慧百自动化有限公司 | 丹佛斯变频器-丹佛斯压力开关-变送器-广州市风华机电设备有限公司 | 水性漆|墙面漆|木器家具漆|水漆涂料_晨阳水漆官网 | 万濠投影仪_瑞士TRIMOS高度仪_尼康投影仪V12BDC|量子仪器 | 深圳市东信高科自动化设备有限公司 | 重庆磨床过滤机,重庆纸带过滤机,机床伸缩钣金,重庆机床钣金护罩-重庆达鸿兴精密机械制造有限公司 | 成都竞价托管_抖音代运营_网站建设_成都SEM外包-成都智网创联网络科技有限公司 | 水平筛厂家-三轴椭圆水平振动筛-泥沙震动筛设备_山东奥凯诺矿机 包装设计公司,产品包装设计|包装制作,包装盒定制厂家-汇包装【官方网站】 | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 | 宿舍管理系统_智慧园区系统_房屋/房产管理系统_公寓管理系统 | 工控机-图像采集卡-PoE网卡-人工智能-工业主板-深圳朗锐智科 | 【法利莱住人集装箱厂家】—活动集装箱房,集装箱租赁_大品牌,更放心 | 水成膜泡沫灭火剂_氟蛋白泡沫液_河南新乡骏华消防科技厂家 | 带式压滤机_污泥压滤机_污泥脱水机_带式过滤机_带式压滤机厂家-河南恒磊环保设备有限公司 | 无纺布包装机|径向缠绕包装机|缠绕膜打包机-上海晏陵智能设备有限公司 | 北京翻译公司_同传翻译_字幕翻译_合同翻译_英语陪同翻译_影视翻译_翻译盖章-译铭信息 | 爱佩恒温恒湿测试箱|高低温实验箱|高低温冲击试验箱|冷热冲击试验箱-您身边的模拟环境试验设备技术专家-合作热线:400-6727-800-广东爱佩试验设备有限公司 | 吸污车_吸粪车_抽粪车_电动三轮吸粪车_真空吸污车_高压清洗吸污车-远大汽车制造有限公司 | 蓝莓施肥机,智能施肥机,自动施肥机,水肥一体化项目,水肥一体机厂家,小型施肥机,圣大节水,滴灌施工方案,山东圣大节水科技有限公司官网17864474793 | 真空吸污车_高压清洗车厂家-程力专用汽车股份有限公司官网 | 压片机_高速_单冲_双层_花篮式_多功能旋转压片机-上海天九压片机厂家 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 河南砖机首页-全自动液压免烧砖机,小型砌块水泥砖机厂家[十年老厂] | 酒精检测棒,数显温湿度计,酒安酒精测试仪,酒精检测仪,呼气式酒精检测仪-郑州欧诺仪器有限公司 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 柴油发电机组_柴油发电机_发电机组价格-江苏凯晨电力设备有限公司 | 污水提升器,污水提升泵,污水提升装置-德国泽德(zehnder)水泵系统有限公司 | 传动滚筒_厂家-淄博海恒机械制造厂 | 氧化锆陶瓷_氧化锆陶瓷加工_氧化锆陶瓷生产厂家-康柏工业陶瓷有限公司 | 三佳互联一站式网站建设服务|网站开发|网站设计|网站搭建服务商 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 赛默飞Thermo veritiproPCR仪|ProFlex3 x 32PCR系统|Countess3细胞计数仪|371|3111二氧化碳培养箱|Mirco17R|Mirco21R离心机|仟诺生物 | 转向助力泵/水泵/发电机皮带轮生产厂家-锦州华一精工有限公司 | 大立教育官网-一级建造师培训-二级建造师培训-造价工程师-安全工程师-监理工程师考试培训 | 电动葫芦|防爆钢丝绳电动葫芦|手拉葫芦-保定大力起重葫芦有限公司 | 成都顶呱呱信息技术有限公司-贷款_个人贷款_银行贷款在线申请 - 成都贷款公司 | 护腰带生产厂家_磁石_医用_热压护腰_登山护膝_背姿矫正带_保健护具_医疗护具-衡水港盛 | 发电机价格|发电机组价格|柴油发电机价格|柴油发电机组价格网 | SOUNDWELL 编码器|电位器|旋转编码器|可调电位器|编码开关厂家-广东升威电子制品有限公司 |