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 ...
随机推荐
- day07-数据类型及标识符
数据类型 强类型语言 要求变量的使用严格要严格符合规定,所有变量都必须先定义后才能使用 弱类型语言 java的数据类型分为两大类 基本类型(primitive type) 数值类型 整数类型 byte ...
- [第一章 web入门]SQL注入-1
启动靶机 很明显注入点为id值,单引号闭合影响语句,说明为单引号闭合 构造注入语句 ?id=1 ' and 1 =1 --+ 发现没报错,说明没有其他过滤 ,开始sql注入 ?id=1 ' order ...
- nicegui太香了,跨平台开发和跨平台运行--使用Python+nicegui实现系统布局界面的开发
在现今国产化浪潮的驱动下,跨平台或者缩小范围说基于国产化Linux或者基于国产鸿蒙系统的开发才是未来的趋势了,风口浪尖上,我们开发人员也只能顺势而为,本篇随笔介绍在Python开发中,使用使用Pyth ...
- 「模拟赛」CSP-S 模拟 11(T2 超详细)
比赛链接 A.玩水 (water) 签到.发现如果要找两条路径的话,能找到的充要条件是存在一个点的上方和左方的字母相同.(即使两条走过的点截然不同的路径也符合,这时终点会成为这个点). 即存在一个位置 ...
- Machine Learning Week_1 Introduction 5-8
目录 1.5 Vedio: Supervised Learning unfamiliar words 1.6 Reading: Supervised Learning unfamiliar words ...
- 多元/多维高斯/正态分布概率密度函数推导 (Derivation of the Multivariate/Multidimensional Normal/Gaussian Density)
各种维度正态分布公式: 一维正态分布 二维正态分布/多维正态分布 各向同性正态分布 注:即方差都是一样的,均值不一样,方差的值可以单独用标量表示. 多元/多维高斯/正态分布概率密度函数推导 (Deri ...
- WSGI、mini-web框架
阅读目录: 1.服务器动态资源请求 2.应用程序示例 3.Web 动态服务器 4.mini-web框架-1-文件结构 5.mini-web框架-2-显示页面 6.mini-web框架-3-替换模板 一 ...
- 关于 PyCharm 2024安装使用 (附加永久激活码、补丁)
第一步:下载安装包 访问 IDEA 官网,下载安装包,下载链接如下 : https://www.jetbrains.com.cn/pycharm/ 第二步,安装完成之后,下载补丁 下载地址(里面包含激 ...
- 0基础读顶会论文—流程即服务(PraaS):通过无服务器流程统一弹性云和有状态云
Abstract 细粒度的无服务器函数为许多新应用提供了动力,这些应用受益于弹性扩展和按需付费计费模型,同时将基础设施管理开销降至最低.为了实现这些特性,函数即服务(FaaS)平台将计算和状态分离,P ...
- toFullScreen:全屏------exitFullscreen:退出全屏
toFullScreen:全屏 function toFullScreen(){ let elem = document.body; elem.webkitRequestFullScreen ? el ...