当前位置: 首页 > news >正文

html+Vue+封装axios实现发送请求

在html中使用Vue和Axios时,可以在HTML中引入Vue库和Axios库,然后使用Vue的语法和指令来创建Vue组件和模板。在Vue组件中,你可以使用Axios发送HTTP请求来获取数据,并将数据绑定到Vue模板中进行展示。

<template><div><button @click="getData">发送请求</button><div>{{ response }}</div></div>
</template><script>
// 导入Vue和axios
import { createApp } from 'https://unpkg.com/vue@3/dist/vue.esm-browser.js';
import axios from 'axios';// 创建Vue应用
const app = createApp({data() {return {response: ''};},methods: {async getData() {try {const response = await axios.get('https://api.example.com/data');this.response = response.data;} catch (error) {console.error(error);}}},created() {// 设置请求拦截器axios.interceptors.request.use(// config就是本次发请求的信息config => {// 在发送请求之前做些什么console.log('请求拦截器');return config;},error => {// 对请求错误做些什么console.error(error);return Promise.reject(error);});// 设置响应拦截器axios.interceptors.response.use(response => {// 对响应数据做些什么console.log('响应拦截器');return response;},error => {// 对响应错误做些什么console.error(error);return Promise.reject(error);});}
});// 挂载Vue应用到指定元素上
app.mount('#app');
</script>

这段代码在HTML中使用了Vue,使用axios并设置了请求拦截器和响应拦截器。它实现了在页面中发送请求并显示响应数据的功能。

在模板中,有一个按钮,当点击按钮时,会调用getData方法发送请求。响应数据会显示在页面上的response变量中。

在created生命周期钩子中,我们设置了请求拦截器和响应拦截器。请求拦截器会在发送请求之前执行,可以在此处进行一些操作,比如添加请求头、修改请求参数等。响应拦截器会在接收到响应数据之后执行,可以在此处对响应数据进行处理,比如解析数据、错误处理等。

这样,每次发送请求时,拦截器会先执行相应的操作,然后再发送请求或处理响应数据。

想要实现封装Axios以及请求拦截器和响应拦截器,只需将相应的操作提取出来,放在一个文件夹下,在需要使用的地方使用script引入文件即可。 

/** axios封装* 请求拦截、相应拦截、错误统一处理*/

每一个请求都会经过请求拦截和响应拦截

请求拦截器:常常用于Token的主动处理 ,给每一个请求添加请求头token 对请求异常抛出。

响应拦截器:常常用于简化axios默认加了一层的data Token被动处理 对请求异常抛出。

响应拦截器:简化axios默认加了一层的data Token被动处理 对请求异常抛出。

axios默认加了一层data

这个res包括这个请求响应回来的所有信息

所有的接口请求都会回到这里

获取到本次请求得到的数据

 

http://www.lryc.cn/news/111007.html

相关文章:

  • GoogLeNet卷积神经网络输出数据形参分析-笔记
  • 【docker】dockerfile发布springboot项目
  • 利用docker run -v 命令实现使用宿主机中没有的命令
  • 【小沐学NLP】在线AI绘画网站(百度:文心一格)
  • react经验5:访问子组件内容
  • 【LeetCode】647. 回文子串
  • Open3D(C++) 角度制与弧度制的相互转换
  • 【小沐学NLP】在线AI绘画网站(网易云课堂:AI绘画工坊)
  • GNN code Tips
  • 物联网|按键实验---学习I/O的输入及中断的编程|函数说明的格式|如何使用CMSIS的延时|读取通过外部中断实现按键捕获代码的实现及分析-学习笔记(14)
  • Java对象的前世今生
  • Qt中JSON的使用
  • linux安装Tomcat部署jpress教程
  • 高并发负载均衡---LVS
  • 微前端中的 CSS
  • 在CSDN学Golang场景化解决方案(分布式日志系统)
  • 电脑第一次使用屏幕键盘
  • 【C#学习笔记】类型转换
  • SpringBoot+SSM实战<一>:打造高效便捷的企业级Java外卖订购系统
  • 笙默考试管理系统-MyExamTest--calculagraph
  • Mysql面试突击班索引,事务与锁
  • 数据结构——AVL树
  • AI写作宝有哪些,分享两种AI写作工具
  • 【uniapp 控制页面滑动速度】
  • 7-24 整数的分类处理 (20 分)
  • MYSQL事务同时修改单条记录
  • 安装skywalking并集成到微服务项目
  • 一支笔,一双手,一道力扣(Leetcode)做一宿
  • Kubernetes(K8s)从入门到精通系列之九:使用kubeadm工具快速安装K8s集群
  • RabbitMQ 教程 | 第11章 RabbitMQ 扩展