vue3 封装axios
1添加一个新的 http.js文件 封装axios
引入axios
//引入Axios
import axios from 'axios'
定义一个根地址
//视你自己的接口地址而定
var root2 = 'http://121.4.63.196:8520/api'
定义个小函数来统一参数格式(可写可不写,自己随意)


//参数过滤(去空白)
function filterNull(o) {
for (var key in o) {
if (o[key] === null) {
delete o[key]
}
//字符串,对象,数组
if (typeof (o[key]) === 'string') {
o[key] = o[key].trim()
} else if (typeof (o[key] === 'object')) {
alert(o[key]);
o[key] = filterNull(o[key])
} else if (typeof (o[key]) === 'array') {
o[key] = filterNull(o[key])
}
}
return o
}
参数过滤(去空白)
接口处理:重头戏
//接口处理函数
function apiAxios(method, url, params, success) {
//整理参数
if (params) {
params = filterNull(params)
console.log(params);
}
axios({
method: method,
url: url,
data: method === 'post' || method === 'put' ? params : null,
params: method === 'get' || method === 'delete' ? params : null,
headers: {
//'Content-Type':'application/json'
},
baseURL: root2,
withCredentials: false
}).then(function (res) {
if (res.State && res.Code) {
}
}).catch(function (error) {
let res = error.response
if (error) {
console.log('API错误:' + res.State);
}
})
}
导出给vue组件使用
//返回在vue模板中调用的接口
export default ({
get: function (url, params, success, failure) {
return apiAxios('get', url, params, success, failure);
},
post: function (url, params, success, failure) {
return apiAxios('post', url, params, success, failure);
},
put: function (url, params, success, failure) {
return apiAxios('put', url, params, success, failure);
},
delete: function (url, params, success, failure) {
return apiAxios('delete', url, params, success, failure);
}
})
main.js里面如何使用:
//引入接口文件
import api from './api/http.js' var app=createApp(App)
app.use(routers)
//绑定给全局使用 $api可以随便定义 例如 $http $a $b 随喜好
app.config.globalProperties.$api=api
app.vue里面使用
this.$api.post('/AutoCode/SendEmail163', { 'email': this.email },r=>{
this.email2=r.message
});
vue3 封装axios的更多相关文章
- 【转】Vue 2.0封装axios笔记
前言 单页面应用大多采用前后端分离开发思路,我们知道,前端和后端交互有多中方式(服务器端渲染.Ajax.websocket等),今天我们主要讲解Ajax部分. 最近团队讨论了一下,Ajax 本身跟 V ...
- Vue笔记:封装 axios 为插件使用
前言 自从Vue2.0推荐大家使用 axios 开始,axios 被越来越多的人所了解.使用axios发起一个请求对大家来说是比较简单的事情,但是axios没有进行封装复用,项目越来越大,引起的代码冗 ...
- 封装axios方法之一
一.先来说说为什么要封装axios异步请求. 我们前端开发中总是会遇到跨域的问题,我们会配置proxy来解决跨域的问题,无论是vue 还是react. 如何配置我这里就不说了. 然后...然后我们就会 ...
- vue 封装axios以及使用中间代理 proxy
为什么需要封装呢?主要是为了更好管理项目以及增加复用性 1.首先在src文件夹下创建api文件夹 . utils文件夹 . server文件夹 api:创建一个index.js文件 用来存放接口地 ...
- 15、vue项目封装axios并访问接口
1.在src下新建util文件夹,在util下新建request.js文件: 封装axios: import axios from 'axios' import QS from 'qs'; // im ...
- Vue中封装axios
参考: https://www.jianshu.com/p/7a9fbcbb1114 https://www.cnblogs.com/dreamcc/p/10752604.html 一.安装axios ...
- Vue 封装axios(四种请求)及相关介绍(十三)
Vue 封装axios(四种请求)及相关介绍 首先axios是基于promise的http库 promise是什么? 1.主要用于异步计算 2.可以将异步操作队列化,按照期望的顺序执行,返回符合预期的 ...
- 创建Vue项目及封装axios
1. 始vue化项目 https://www.cnblogs.com/xiaonq/p/11027880.html vue init webpack deaxios # 使用脚手架创建项目 deaxi ...
- 封装axios在util中
创建util工具类,封装通用的get和post请求 封装axios成工具类,方便大家请求调用 1.创建util文件夹 2.创建request.js 3.封装 //封装请求相关方法 //初始化一个axi ...
- vue3.0+axios 跨域+封装
封装: 目录结构:src/utils/request.js, 没有就自己建一个 //src/utils/request.jsimport axios from 'axios' import { Mes ...
随机推荐
- gost socks5代理
购买云主机 开放所有tcp端口 配置云主机 https://mirrors.tuna.tsinghua.edu.cn/elrepo/kernel/el8/x86_64/ 选择清华镜像源 [root@i ...
- 认识JVM
类加载器 运行时数据区 执行引擎 执行引擎的任务就是将字节码指令解释/编译为对应平台上的本地机器指令 JVM架构图
- springboot-实现excle文件导出的单元格相同内容合并
导出excle文件中的单元格有些需要合并如何操作 例如:左边的表格想合并单元格成右边的表格更加便于观看 一.依赖文件 <!-- excle操作--> <depen ...
- hbase的架构
HBase中的存储包括HMaster.HRegionSever.HRegion.HLog.Store.MemStore.StoreFile.HFile等角色构成,具体如下HMaster的作用 1.为H ...
- Qt Creator快捷键记录
Ctrl + K:代码格式化(先选中要格式化的代码) F4:在头文件和源文件之间切换 Ctrl+/:注释和取消注释 F2:在声明和实现之间切换 Ctrl+K:打开定位器(locator),搜索文件名 ...
- SSH通过本地开端口打远程隧道
ssh -R 你想让别人连得端口:带外IP:22 root@内网跳板机 -p内网跳板机端口 例如: ssh -R 8888:172.22.200.1:22 root@10.11.11.11 -p202 ...
- nsenter 常用操作
nsenter 是一个可以用来进入到目标程序说在 namespace 中运行命令的工具,一般可以用于在容器外 debug 容器中运行的程序.简单记录一下 nsenter 的常用用法. 常用参数 最常用 ...
- 11.Kubernetes控制器Controller详解
Kubernetes控制器Controller详解 Statefulset Statefulset主要是用来部署有状态应用 对于StatefulSet中的Pod,每个Pod挂载自己独立的存储,如果一个 ...
- 基于 Github 平台的 .NET 开源项目模板 - ISSUE 相关
上一篇已经介绍了工程和脚本.下面我们将以具体的功能作为着手点, 展开对 project.yml 工程配置文件的讲解. 赘述 project.yml 使用周期 文件来源: 运行跟目录下的 scanner ...
- REST API 已经 25 岁了:它是如何形成的,将来可能会怎样?
原文:https://journal.hexmos.com/rest-turns-25/ 原题:REST APIs Turn 25: How They Came To Be and What Coul ...