vue配置axios

news/2024/9/25 15:01:18/

axios 是一个基于 Promise 的 HTTP 客户端,适用于浏览器和 node.js 环境。它提供了易于使用的 API 来发送异步 HTTP 请求到 REST 端点并处理响应。axios 因其简洁的 API 和广泛的浏览器兼容性而广受欢迎。

步骤一:

下载axios

在打开vue项目的编辑器中打开终端,或者在cmd窗口进入到项目目录

用你的包管理器安装axios,例如使用npm包管理器

npm i axios

步骤二:

统一接口配置

进行封装axios,需要建一个专门封装axios的工具文件(js)例如:

javascript">//axios基础封装
import axios from "axios";
import { ElMessage } from "element-plus";
//创建一个可以发起请求获得响应的实例
const httpInstance=axios.create({timeout:50000
})
//配置请求拦截器
//config是拦截的数据包
httpInstance.interceptors.request.use(config=>{return config
},e=>{Promise.reject(e)
})
//配置axios的响应拦截器
httpInstance.interceptors.response.use(res=>res.data,e=>{if(e.response.status==401){ElMessage.error("请先登录")//跳转登陆页面}else{ElMessage({type:'error',message:'请重新登录'+e})}return Promise.reject(e)
})
export default httpInstance //对外暴露,用于在其他位置调用

const httpInstance=axios.create({timeout:50000})表示创建一个axios实例,设置了请求超时时间是50000ms,httpInstance.interceptors.request.use是对请求进行拦截数据包,校验是否有错,没有问题返回数据包,有问题返回错误。httpInstance.interceptors.response.use是对返回数据的时候进行拦截校验,上述代码的逻辑是,如果状态码是401,那么就会弹出一个错误提示框,内容为:请先登录,如果是其他的状态码,则弹出错误提示框,内容是:请重新登陆+错误。最后需要export暴露当前实例,这样其他文件才能用到。

步骤三:

创建测试API(js)文件

javascript">import httpInstance from "@/utils/http";export function getPeriodAll(){return httpInstance({url:'127.0.0.1:10086/user/getuserinfo'})
}

首先import导入我们刚才写好的工具文件,import工具文件暴露名from路径。ps:@路径相关说明请看主页文章:vue路径别名配置

定义我们要测试接口的函数,然后返回工具返回的值,所以写到一句代码中:return httpInstance({url:'接口地址'}),url内是你要测试的接口地址

步骤四:

在main.ts(main.js)文件中导入我们写好的测试函数

javascript">import {getPeriodAll} from '@/apis/testAPI'getPeriodAll().then((res:any) =>{console.log(res)
})

这个函数内的逻辑是将函数的返回值输出到控制台,我们也可以根据自己的业务需求去编写内部的逻辑

步骤五:

重启测试

注意:被测试的接口要允许跨域操作

如果你是java的spring框架开发的,那么可以在控制层加上注释:@CrossOrigin

其他的你自己找吧


http://www.ppmy.cn/news/1530333.html

相关文章

Vue ElemetUI table实现双击修改编辑某个内容

1、使用cell-dblclick事件&#xff0c;当双击时触发事件 <el-table cell-dblclick"handleCellDblClick" 2、单元格设置 主要重点为判断双击时切换input框&#xff0c;然后绑定ref&#xff0c;设置失去焦点时触发点方法&#xff0c;与按enter键触发点方法 <…

(14)关于docker如何通过防火墙做策略限制

关于docker如何通过防火墙做策略限制 1、iptables相关问题 在Iptables防火墙中包含四种常见的表&#xff0c;分别是filter、nat、mangle、raw。 filter&#xff1a;负责过滤数据包。 filter表可以管理INPUT、OUTPUT、FORWARD链。 nat&#xff1a;用于网络地址转换。 nat表…

Uniapp低版本的安卓不能用解决办法

Uniapp低版本的安卓不能用解决办法 语法例子&#xff1a; 语法 不要使用过于新的语法规则 例子&#xff1a; 1. ${aa} 字符变量替换报错 换成连接&#xff0c; 2.let const 报错&#xff0c;换成 var 声明变量 3.includes() 报错 用indexOf替换 4.&#xff08;&#xff09;&…

银河麒麟高级服务器操作系统V10:提升普通用户操作权限

银河麒麟高级服务器操作系统V10&#xff1a;提升普通用户操作权限 1. 打开终端2. 切换到root用户&#xff08;可选&#xff09;3. 将用户加入到wheel组4. 验证用户组变更5. 使用sudo执行命令结论 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f4…

跟王道学c记录

scanf int a; scanf("%d",&a); 一定要有取地址符 printf 用%f精度修饰符指定想要的小数位数。例如,%5.2f会至少显示5位数字并带有2位小 数的浮点数 用%s精度修饰符简单地表示一个最大的长度,以补充句点前的最小字段长度 printf 数的所有输出都是右对齐的,除非…

【Linux】Linux基本命令

目录 文件和目录操作&#xff1a; ls cd pwd cp mv rm mkdir rmdir touch clear history which/whereis 文件查看和编辑&#xff1a; cat less head tail vi 或 vim sz/rz echo 系统信息和管理&#xff1a; su uname hostname df free top ps ki…

ReactOS源码分析ReadFile函数分析

ReactOS源码分析ReadFile函数分析 ReactOS源码分析ReadFile函数分析 ReadFile(IN HANDLE hFile, IN LPVOID lpBuffer, IN DWORD nNumberOfBytesToRead, OUT LPDWORD lpNumberOfBytesRead OPTIONAL, IN LPOVERLAPPED lpOverlapped OPTIONAL) 文章目录 ReactOS源码分析ReadFile…

在Linux中运行flask项目

准备 这里我准备了一个GitHub上某个大佬写的留言板的Flask项目&#xff0c;就用这个来给大家做示范了。 查看留言板的目录结构 查看主程序所用的库函数 只有一个第三方库 Flask 安装pip sudo apt install python3-pip -y测试 pip 安装成功 修改pip镜像源 修改pip的默认下载…