使用axios库创建实例的示例,(创建实例时,传入了一个配置对象)同时还包含了请求拦截器和响应拦截器

第一步:

在vue项目中src目录下创建utils>request.js

第二步: 

  • 在 request.js中,使用axios.create方法创建了一个名为request的axios实例(设置基本配置信息)
  • 通过request.interceptors.request.use方法添加了请求拦截器。
  • 通过request.interceptors.response.use方法添加了响应拦截器。
  • 通过export default request语句导出了request实例,以便在其他地方使用该实例进行请求。 
import axios from 'axios'// 创建axios实例
const request = axios.create({baseURL: 'http://localhost:8080/api/', // 设置baseUrltimeout: 4000 // 设置超时时间
})// 请求拦截器
request.interceptors.request.use(config => {// 在发送请求之前做些什么,比如添加请求头等return config},error => {// 对请求错误做些什么return Promise.reject(error)}
)// 响应拦截器
request.interceptors.response.use(response => {// 对响应数据做点什么,比如处理错误码等return response.data},error => {return Promise.reject(error)}
)export default request

第三步:

在main.js中导入 

import request from '@/utils/request'
// 创建一个名为 $request 的全局变量
Vue.prototype.$request = request

 axios与对比request

  • 使用axios发请求

         1.每次发请求url都要写全

          2.当页面报错时,用户使用时就直接看到页面报错(不友好)

    this.$axios({method: 'post',url: 'http://localhost:8080/api/upload/selectGoods',data: {pageNum: this.pageNum,pageSize: this.pageSize,keyWord: this.keyWord,}}).then((res) => {console.log(res + "sssssssss");let result = res.data.data;this.goodsData = result.list;this.total = result.total;})

效果: 

 

  • 使用request发请求

           1.每次发请求url只需写不同的部分,相同的已经封装好了。

           2.当页面报错时,页面会提示相关信息(友好)

  this.$request.post('upload/selectGoods', {data: {pageNum: this.pageNum,pageSize: this.pageSize,keyWord: this.keyWord,}}).then((res) => {if (res.code === '200') {let result = res.data;this.goodsData = result.list;this.total = result.total;}}).catch(error => {if (error.code === 'ECONNABORTED') {this.$message.error('网络繁忙,请稍后重试')} else {console.log('请求发生错误:', error.message)}})

 效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/427173.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构<1>——树状数组

树状数组,也叫Fenwick Tree和BIT(Binary Indexed Tree),是一种支持单点修改和区间查询的,代码量小的数据结构。 那神马是单点修改和区间查询?我们来看一道题。 洛谷P3374(模板): 在本题中,单点修改就是将某一个数加上…

【MySQL故障】主从延迟越来越大

问题背景 研发执行了一个批量更新数据的操作,操作的表是个宽表,大概有90多个字段,数据量有800多w,但是研发是根据ID按行更新。更新开始后,该集群的主从延迟越来越大。 问题现象 1 从库应用binlog基本无落后&#xf…

Hbas简介:数据模型和概念、物理视图

文章目录 说明零 BigTable一 Hbase简介二 HBase 访问接口简介三 行式&列式存储四 HBase 数据模型4.1 HBase 列族数据模型4.2 数据模型的相关概念4.3 数据坐标 五 概念&物理视图 说明 本文参考自林子雨老师的大数据技术原理与应用(第三版)教材内容,仅供学习…

SQL 系列教程(二)

目录 SQL DELETE 语句 DELETE 语句 演示数据库 DELETE 实例 删除所有行 SQL TOP, LIMIT, ROWNUM 子句 TOP 子句 演示数据库 SQL TOP、LIMIT 和 ROWNUM 示例 SQL TOP PERCENT 实例 添加WHERE子句 SQL MIN() 和 MAX() 函数 MIN() 和 MAX() 函数 演示数据库 MIN() …

热压机PLC数据采集远程监控物联网解决方案

热压机PLC数据采集远程监控物联网解决方案 热压机是制造行业中重要的设备之一,广泛应用于木材加工、纸制品生产、塑料加工等领域。随着工业自动化技术的发展,热压机的自动化程度也越来越高。然而,热压机的远程监控仍然是制造企业普遍面临的问…

OpenGL ES 实现图像腐蚀、膨胀、边缘检测

前文我们详细讲了图像锐化的基本原理,本文再介绍一下图像基本处理之腐蚀、膨胀和边缘检测,它们在图像处理和计算机视觉领域有着广泛的应用。 图像腐蚀(Image Erosion):用于缩小或消除图像中物体的边界。主要用于去除图像中的小细节、噪声或不规则物体。 实现图像腐蚀的片…

代码随想录刷题

数组篇 704. 二分查找 class Solution:def search(self, nums: List[int], target: int) -> int:left 0right len(nums) - 1while(left < right):mid (left right) // 2if nums[mid] target:return midelif nums[mid] > target:right mid - 1elif nums[mid] &l…

力扣日记1.21-【回溯算法篇】77. 组合

力扣日记&#xff1a;【回溯算法篇】77. 组合 日期&#xff1a;2023.1.21 参考&#xff1a;代码随想录、力扣 终于结束二叉树了&#xff01;听说回溯篇也是个大头&#xff0c;不知道这一篇得持续多久了…… 77. 组合 题目描述 难度&#xff1a;中等 给定两个整数 n 和 k&#…

实现AVL树

王有志&#xff0c;一个分享硬核Java技术的互金摸鱼侠 加入Java人的提桶跑路群&#xff1a;共同富裕的Java人 上一篇我们学习了平衡二分搜索树的理论知识&#xff0c;并学习了AVL树是如何保持二分搜索树的平衡的&#xff0c;今天我们一起来实现AVL树。Tips&#xff1a; AVL树和…

22k+star一款自托管的开源的的好用的碎片化笔记软件 Memos超级详细部署教程

目录 1.拉取镜像 2.启动 3.体验 4.源码地址 1.拉取镜像 docker pull neosmemo/memos:stable 2.启动 创建目录 mkdir -p /opt/memos/ 启动 docker run -d --name memos -p 10006:5230 -v /opt/memos/:/var/opt/memos neosmemo/memos:stable 3.体验 浏览器输入下面地址…

Node.JS CreateWriteStream(大容量写入文件流优化)

Why I Need Node.JS Stream 如果你的程序收到以下错误&#xff0c;或者需要大容量写入很多内容(几十几百MB甚至GB级别)&#xff0c;则必须使用Stream文件流甚至更高级的技术。 Error: EMFILE, too many open files 业务场景&#xff0c;我们有一个IntradayMissingRecord的补…

Unity -简单键鼠事件和虚拟轴

简单键鼠事件 — “Test_03” KeyTest 键鼠事件每帧都要监听&#xff0c;要放在Update()中处理 public class KeyTest : MonoBehaviour {// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){// 【鼠标点击事件…