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

二次封装ajax和axios

ajax

app.config.globalProperties.$http = function(url, method, data, async, fun) {$.ajax({url: baseUrl + url, //请求地址type: method,   //请求方式dataType: 'json',  //数据类型contentType: "application/json",xhrFields: {  //跨域设置withCredentials: true},headers: {"token":localStorage.getItem("token") //请求头设置token验证},async: async,  //开启异步请求 true/falsedata: JSON.stringify(data),  //携带数据转换为字符串success: function(resp) {  //请求成功后的操作if (resp.code == 200) {fun(resp)} else {ElMessage.error({message: resp.msg,duration: 1200});}},error: function(e) {  //请求失败后的操作if (e.status == undefined) {ElMessage.error({message: "前端页面错误",duration: 1200});} else {let status = e.statusif (status == 401) {router.push({name: 'Login'})} else {ElMessage.error({message: e.responseText,duration: 1200});}}}})
}

axios

/对于axios函数库进行二次封装
//你工作的时候axios是否进行二次封装?
// 目的1:利用axios请求,响应拦截器功能
// 目的2:请求拦截器,一般看可以在请求头中携带公共参数:token
// 目的3:响应拦截器,可以简化服务返回的数据,处理http的网络错误
import axios from "axios";
import { ElMessage } from "element-plus";//利用axios.create方法创建一个axios实例:可以设置基础路径、超时时间的设置
const request = axios.create({baseURL: "/api", //请求路径设置timeout: 5000, // 超时的时间设置,超出五秒请求就是失败的
});// 请求拦截器
request.interceptors.request.use((config) => {//config:请求拦截器回调注入的对象(配置对象),配置对象的身上最重要的一件事就是headers属性//可以通过请求头携带公共参数-tokenreturn config;
});request.interceptors.response.use((response) => {//响应拦截器成功的回调,一般会进行简化数据return response.data;},(error) => {// 处理http网络错误let status = error.response.status;switch (status) {case 404://错误提示信息ElMessage({type: "error",message: "请求失败路径出现问题",});break;case 500 | 501 | 502 | 503 | 504 | 505://错误提示信息ElMessage({type: "error",message: "服务器挂了",});break;case 401:ElMessage({type: "error",message: "参数有误",});break;}return Promise.reject(new Error(error.message));}
);export default request;

相关文章:

二次封装ajax和axios

ajax app.config.globalProperties.$http function(url, method, data, async, fun) {$.ajax({url: baseUrl url, //请求地址type: method, //请求方式dataType: json, //数据类型contentType: "application/json",xhrFields: { //跨域设置withCredentials: t…...

Android进阶之SeekBar动态显示进度

SeekBar 在开发中并不陌生,默认的SeekBar是不显示进度的,当然用吐司或者文案在旁边实时显示也是可以的,那能不能移动的时候才显示,默认不显示呢,当然网上花哨的三方工具类太多了,但是我只是单纯的想在SeekBar的基础上去添加一个可以跟随移动显示的气泡而…...

企业计算机服务器中了locked勒索病毒怎么办,如何预防勒索病毒攻击

计算机服务器是企业的关键信息基础设备,随着计算机技术的不断发展,企业的计算机服务器也成为了众多勒索者的攻击目标,勒索病毒成为当下计算机服务器的主要攻击目标。近期,我们收到很多企业的求助,企业的服务器被locked…...

大麦订单截图 一键生成订单截图

新版付款图样式展示 这个样式图就是在大麦刚付款完的一个订单截图,它的状态是等待卖家发货 下滑下载源码 下载源码:https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3...

LLaMA长度外推高性价比trick:线性插值法及相关改进源码阅读及相关记录

前言 最近,开源了可商用的llama2,支持长度相比llama1的1024,拓展到了4096长度,然而,相比GPT-4、Claude-2等支持的长度,llama的长度外推显得尤为重要,本文记录了三种网络开源的RoPE改进方式及相…...

中国信息安全测评中心CISP家族认证一览

随着国家对网络安全的重视,中国信息安全测评中心根据国家政策、未来趋势、重点内容陆续增添了很多CISP细分认证。 今日份详细介绍,部分CISP及其子品牌相关认证内容,一定要收藏哟! 校园版CISP NISP国家信息安全水平考试&#xff…...

牛客网【面试必刷TOP101】~ 06 递归/回溯

牛客网【面试必刷TOP101】~ 06 递归/回溯 文章目录 牛客网【面试必刷TOP101】~ 06 递归/回溯[toc]BM55 没有重复项数字的全排列(★★)BM56 有重复项数字的全排列(★★)BM57 岛屿数量(★★)BM58 字符串的排列(★★)BM59 N皇后问题(★★★)BM60 括号生成(★★)BM61 矩阵最长递增路…...

ArcGIS Pro基础:【划分】工具实现等比例、等面积、等宽度划分图形操作

本次介绍【划分】工具的使用,如下所示,为该工具所处位置。使用该工具可以实现对某个图斑的等比例面积划分、相等面积划分和相等宽度划分。 【等比例面积】:其操作如下所示,其中: 1表示先选中待处理的图斑,2…...

括号匹配问题:栈的巧妙应用与代码优化【栈、优化、哈希表】

当解决算法问题时,灵活使用数据结构是至关重要的。在这个问题中,我们需要判断一个只包含括号的字符串是否有效,即括号是否能够正确匹配和闭合。使用栈这一数据结构可以很好地解决这个问题。 题目链接:有效的括号 解题思路&#xf…...

vue项目正确使用样式deep穿透

经常开发前端的程序员应该都知道前端一般都是组件化开发,为了避免样式污染通常会使用scoped添加属性选择器,此时如果我们想在父组件中修改子组件的样式便成了难题。其实,我们可以通过以下几种方式修改子组件样式, 组件样式穿透 …...

Jenkins持续集成-快速上手

Jenkins持续集成-快速上手 注:Jenkins一般不单独使用,而是需要依赖代码仓库,构建工具等。 搭配组合:GitGitee(GitHub、GitLab)MavenJenkins 前置准备 常见安装方式: war包Docker容器实例&…...

查看linux 所有运行的应用和端口命令

要查看 Linux 中所有运行的应用程序及其对应的端口,可以使用以下命令: 1. 使用 netstat 命令(已被弃用,建议使用 ss 命令): netstat -tuln 这会显示当前系统上所有打开的网络连接和监听的端口。其中&#…...

Maven安装与配置,Eclipse配置Maven【图文并茂的保姆级教程】

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于Maven的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Maven是什么? 二.Maven的下…...

利用XLL文件投递Qbot银行木马的钓鱼活动分析

1概述 近期,安天CERT发现了一起利用恶意Microsoft Excel加载项(XLL)文件投递Qbot银行木马的恶意活动。攻击者通过发送垃圾邮件来诱导用户打开附件中的XLL文件,一旦用户安装并激活Microsoft Excel加载项,恶意代码将被执…...

2023CNSS——WEB题解(持续更新)

[Baby] SignIn 进来看到 按钮点击不了,想到去修改代码,要“检查“,但这里的右键和F12都不可用 还好还有其他方法 检查的各种方法 选用一种后进入检查页面 删掉这里的disabled即可 点击后得到flag [Baby] Backdoor 进入&#xff0c…...

Unity之ShaderGraph 节点介绍 数学节点

数学 高级Absolute(绝对值)Exponential(幂)Length(长度)Log(对数)Modulo(余数)Negate(相反数)Normalize(标准化矢量&…...

springboot mongo 使用

nosql对我来说,就是用它的变动列,如果列是固定的,我为什么不用mysql这种关系型数据库呢? 所以,现在网上搜出来的大部分,用实体类去接的做法,并不适合我的需求。 所以,整理记录一下…...

如何使用appuploader制作apple证书​

转载:如何使用appuploader制作apple证书​ 如何使用appuploader制作apple证书​ 一.证书管理​ 点击首页的证书管理 二.新建证书​ 点击“添加”,新建一个证书文件 免费账号制作证书只有7天有效期,没有推送消息功能,推送证书…...

Promise详细版

promise基础原理到难点分析 常见的Promise的方法解读 扩展async和await深入分析 逐步分析Promise底层逻辑代码 一、Promise基础 1.什么是promise 为了解决回调地狱: //2.设置点击事件btn.onclick function() {//3.创建ajax实例化对象let xhr new XMLHttpRe…...

v-for循环生成的盒子只改变当前选中的盒子的样式

1.给盒子添加动态属性:class"[index isActive?active-box:choose-box]" <div v-for"(item,index) in zyList" :key"item.sid" :class"[index isActive?active-box:choose-box]" click"getKmList(item,index)"…...

别再踩坑了!在Rancher里用Deployment部署Redis集群,Pod重启IP变动的终极解决方案

在Kubernetes中稳定部署Redis集群的实战指南 为什么Deployment不适合部署Redis集群&#xff1f; Redis作为典型的有状态服务&#xff0c;在Kubernetes环境中部署时面临着独特的挑战。许多开发者习惯性地使用Deployment控制器来部署Redis&#xff0c;这其实是一个常见的误区。问…...

武昌区文化墙设计制作一体

在城市发展进程中&#xff0c;文化墙作为一种独特的文化传播载体&#xff0c;正发挥着越来越重要的作用。武昌区作为历史文化名城的核心区域&#xff0c;通过文化墙设计制作一体化的方式&#xff0c;不仅能够展现区域特色文化&#xff0c;还能提升城市形象和居民的文化认同感。…...

【2026奇点技术白皮书首发】:全球仅23家通过AI原生研发成熟度三级认证企业的共性实践

第一章&#xff1a;AI原生软件研发&#xff1a;2026奇点智能技术大会核心议题 2026奇点智能技术大会(https://ml-summit.org) AI原生软件研发已超越传统“AI赋能”范式&#xff0c;进入以大模型为运行时、以提示与推理链为基本构件、以LLM-as-OS为架构基底的新纪元。2026奇点智…...

别再乱用@property了!Python属性装饰器的5个常见误区与正确姿势

别再乱用property了&#xff01;Python属性装饰器的5个常见误区与正确姿势 在Python开发中&#xff0c;property装饰器常被误认为是简单的"方法转属性"工具&#xff0c;但它的真正价值远不止于此。许多开发者在使用时容易陷入表面理解的陷阱&#xff0c;导致代码出现…...

自动化脚本ui开发基础入门

自动化脚本ui采用XML 描述界面 JS 处理逻辑的模式&#xff0c;零基础也能快速上手自定义可视化界面&#xff0c;本文结合官方文档&#xff0c;从核心概念、开发规则、基础控件、全局函数到完整 Demo&#xff0c;全面讲解冰狐 UI 开发入门知识&#xff0c;助力开发者快速搭建实…...

别再纠结选BRAM还是DRAM了!手把手教你用Vivado配置7系列FPGA的分布式RAM

7系列FPGA分布式RAM实战指南&#xff1a;从原理到Vivado高效配置 在FPGA设计领域&#xff0c;存储资源的高效利用往往决定着系统性能的边界。当工程师面对小容量缓存设计时&#xff0c;常陷入BRAM与分布式RAM的选择困境——前者是专用存储模块&#xff0c;后者则巧妙利用查找表…...

一款基于 .NET 开源、跨平台应用程序自动升级组件讼

基础示例&#xff1a;单工作表 Excel 转 TXT 以下是将一个 Excel 文件中的第一个工作表转换为 TXT 的完整步骤&#xff1a; 1. 加载并读取Excel文件 from spire.xls import * from spire.xls.common import * workbook Workbook() workbook.LoadFromFile("示例.xlsx"…...

IM系统核心不是聊天?深入剖析SpringBoot+Netty项目中关系链与群组模块的设计陷阱

IM系统核心不是聊天&#xff1f;深入剖析SpringBootNetty项目中关系链与群组模块的设计陷阱 当大多数人谈论即时通讯系统时&#xff0c;首先想到的是消息收发功能。然而&#xff0c;真正让微信、QQ等产品形成护城河的&#xff0c;并非简单的消息传输能力&#xff0c;而是其背后…...

数据库编程实战:从递归查询到异构数据迁移的完整解决方案

1. 递归查询实战&#xff1a;破解课程依赖关系网 第一次接触WITH RECURSIVE语法时&#xff0c;我正为在线教育平台设计课程推荐系统。平台里有门《机器学习入门》课程&#xff0c;竟然要求先修5门不同领域的基础课&#xff0c;而这些基础课本身又存在复杂的先修关系。传统JOIN查…...

测试架构师成长指南:从执行到设计的跃迁

一、角色本质的认知跃迁&#xff1a;从执行者到设计者在软件质量保障领域&#xff0c;测试架构师代表着测试职业发展的战略制高点。与传统测试工程师相比&#xff0c;其核心差异体现在三个维度&#xff1a;1. 思维模式的根本转变执行者思维聚焦用例执行与缺陷记录&#xff0c;依…...