Vue 封装http 请求

web前端入门到实战:Vue项目中使用Axios封装http请求 使用axios可以统一做请求响应拦截,例如请求响应时我们拦截响应信息,判断状态码,从而弹出报错信息。请求超时的时候断开请求,还可以很方便地使用then或者catch来处理请求。 安装 npm install axios --save 建立http.js文件 在/src/utils/目录下建立一个htttp.js 1.首先导入axios和router。 import axios from 'axi... 阅读详情

封装message 提示
 

Message.js

import { ElMessage } from "element-plus";
 
const showMessage = (msg,callback,type)=>{
    ElMessage({
        message: msg,
        type: type,
        duration: 3000,
        onClose:()=>{
            if (callback) {
                callback();
            }
        }
    });    
}

const message = {
    error: (msg,callback) => {
        showMessage(msg,callback,'error');
    },
    success: (msg,callback) => {
        showMessage(msg,callback,'success');
    },
    warning: (msg,callback) => {
        showMessage(msg,callback,'warning');
    },
    info: (msg,callback) => {
        showMessage(msg,callback,'info');
    }
}
// 导出
export default message;

封装Request.js

import axios from "axios";
import { ElLoading } from "element-plus";
import Message from "./Message";
const contentTypeForm = "application/x-www-form-urlencoded";
const contentTypeJson = "application/json";

// 创建实例
const instance = axios.create({
  baseURL: "/api",
  timeout: 15 * 1000,// 15 秒
});

let loading = null;
// 请求前置过滤器
instance.interceptors.request.use(
    (config) => {
        if (config.showLoading) {
            loading = ElLoading.service({
                lock: true,
                text: '加载中',
                background: 'rgba(0, 0, 0, 0.7)'
            });            
        }
      return config;// 返回很重要
    },
    (error) => {
        // 请求错误 也要记得关闭弹窗
        if (error.config.showLoading && loading) {
            loading.close();
        }
        // 提示错误信息
        Message.error("请求发送失败啦");
      return Promise.reject(error);
    }
  );
// 请求后置过滤器
instance.interceptors.response.use(
    (response) => {
        const { showLoading, errorCallBack,showError } = response.config;
        // 关闭请求
        if (showLoading) {
            loading.close();
        }
        const responseData = response.data;
        if (responseData.code === 200) {
            return responseData;
        }else if (responseData.code === 901) {
            return Promise.reject({ showError: false, msg:"登录超时"});
        }else {
            if (errorCallBack) {
                errorCallBack(responseData)
            }
            return Promise.reject({ showError:showError, msg:responseData.info});
        }
    },(error) =>{
        if (error.config.showLoading) {
            loading.close();
        }
        return Promise.reject({showError:true,msg:"网络异常"});
    });

const request = (config) => {
  const {url,params,dataType,showLoading = true,errorCallBack,showError = true}  = config;
  let contentType = contentTypeForm;
  let formData = new FormData();
  // 拼接参数
  for (let key in params) {
    formData.append(key, params[key] == undefined ? "" : params[key]); 
  }
  if (dataType === "json" && dataType != null) {
    contentType = contentTypeJson;    
  }
  let headers = {
    "Content-Type": contentType,
    "X-Requested-With": "XMLHttpRequest",
    
  };
  return instance.post(url, formData, {
    headers: headers,
    showLoading: showLoading,
    errorCallBack: errorCallBack,
  }).catch(error => {
    if (showError) {
      Message.error(error.msg);
    }
    return null;
  });
};

// 导出request
export default request;

基于NE555的触摸延时开关电路设计与实现 本文详细介绍了基于NE555芯片的触摸延时开关电路设计与实现方法。通过分析NE555的单稳态工作模式,结合定时电阻、电解电容等关键元件选型,提供了一套完整的电路搭建方案。文章还包含抗干扰设计、调试技巧及常见故障处理,帮助电子爱好者快速掌握触摸延时灯的制作要点。 阅读详情

相关推荐

【ISAR成像】基于Matlab的飞机点目标模型仿真与图像优化

本文详细介绍了如何使用Matlab进行ISAR成像仿真,重点讲解了从构建飞机点目标模型到生成清晰图像的完整流程。通过模拟雷达回波、距离压缩、运动补偿及方位压缩等核心信号处理步骤,并结合相位梯度自聚焦等优化技巧,有效提升了ISAR图像的清晰度与分辨率。文章还分享了雷达参数调优、加窗处理等实战经验,为雷达信号处理与目标识别研究提供了实用指导。

weixin_29071809的博客 388

vue系列-封装http请求

功能 支持RESful风格(get,post,delete,put,patch) 支持处理格式化URL(/demo/{id}) 支持请求错误码跳转到指定url 使用 对外提供两个方法 http(url = '', data = {}, method = "GET"):使用http请求 getUrl(url = ''):构建完整的url 代码 import axios from 'ax...

兜兜的博客 7277

保姆级教程:在RK3568上搞定PR2100K+GC2385双摄(从DTS配置到HAL层补丁)

本文详细介绍了在RK3568平台上调试PR2100K+GC2385双摄系统的完整流程,从DTS配置到HAL层补丁。涵盖硬件连接、媒体控制器拓扑验证、Camera3配置、HAL层特殊补丁及性能优化等关键步骤,帮助开发者快速解决双摄调试中的常见问题,提升嵌入式视觉系统开发效率。

weixin_28724661的博客 195

Vue基础篇之封装和网络请求的应用

Vue的封装和网络请求的应用

fvcvv的博客 1324

Altera Quartus II FPGA固件烧录全攻略:从SOF到JIC的完整流程(附EPCQ128配置技巧)

本文详细介绍了使用Altera Quartus II工具链将FPGA固件从SOF文件转换为JIC文件并烧录到EPCQ128 Flash芯片的完整流程。内容涵盖环境配置、文件转换步骤、EPCQ128专用配置技巧以及常见问题解决方案,帮助工程师实现FPGA固件的flash固化,确保设计可靠运行。

weixin_30275415的博客 202

手把手调试Android 14 ShellTransitions:用Log追踪ActiveTransition与Handler匹配过程

本文详细介绍了在Android 14中调试ShellTransitions机制的方法,重点通过Log追踪ActiveTransition与Handler的匹配过程。文章提供了关键日志点植入策略、Handler匹配机制解析及实战调试案例,帮助开发者解决窗口转场动画中的卡顿和错乱问题,提升系统动画性能。

weixin_42652674的博客 428

vue项目中的http.js(请求封装)

import axios from 'axios' import { message } from 'ant-design-vue' import Cookie from 'js-cookie' let isFormData = (v) =&g...

qq_37899792的博客 2853

Pixhawk+OpenMV实战:如何用Apriltag实现无人机自动降落(附避坑指南)

本文详细介绍了如何利用Pixhawk飞控和OpenMV摄像头,通过Apriltag视觉标签实现无人机的精准降落系统。从硬件搭建、参数配置到视觉处理代码优化,提供了完整的实战指南和避坑建议,帮助开发者快速实现厘米级精度的自动降落功能。

weixin_27076351的博客 480

Vue axios http Request 请求封装

Vue axios http Request 请求封装

草木疏博客 411

代谢组数据分析(二十二):代谢组原始数据Zscore标准化和主成分分析(PCA)及热图

本教程介绍了使用Z-score标准化和主成分分析(PCA)进行代谢组学数据预处理和分析的方法。代谢物原始数据具有高噪声、高维小样本、高变异性和复杂相互作用关系等特点,因此在数据分析时需注意数据质量控制、参数选择、批次效应、假阳性控制等问题。Z-score标准化通过将数据转换为均值为0、标准差为1的标准正态分布,提高了数据的可比性,减少了系统误差,并适应了统计分析方法的需求。PCA则通过降维、去相关和特征提取,帮助理解数据的结构和模式。教程还详细介绍了数据预处理步骤,包括填补缺失值、设置名称和顺序等,并提供了

专注生信领域 2857

红队攻防渗透技术实战流程:云安全之云原生安全:特权模式和挂载模式

红队云攻防实战1. 什么是云 1. 什么是云

HACKONE的博客 572

vue 统一封装http请求

// http.js统一封装接口 /* * @Author * @Date */ import axios from 'axios' import { Message } from 'element-ui' const token ='你自己的token' // create an axios instance const http = axios.create({ baseURL: '/api', timeout: 80000 // request timeout }) // reque

逍湘子 3348

PyRoki 入门教程(二)安装与使用

PyRoki是一个用于机器人运动学优化的Python库,具有模块化设计、可扩展性和跨平台支持等特点。它支持逆运动学、轨迹优化和动作重定位等任务,采用Levenberg-Marquardt优化器提高效率。主要功能包括:基于URDF的可微分正向运动学模型、自动生成碰撞基元、通用成本因子和自定义成本函数等。PyRoki支持CPU、GPU和TPU运行,适用于从单机器人到大规模并行处理场景。目前存在一些限制,如仅支持软约束、静态形状和特定关节类型等。官方提供了多个应用示例,包括基础逆运动学、碰撞检测、轨迹优化和手部/

机器人控制与仿真应用 1251

vue封装http请求

vue中http请求的基本封装,分为一下两个文件,可以在基本配种中自定义使用 1. 封装http请求(http.js) import axios from "axios"; import { Toast } from "mint-ui"; var HttpRequest = { getRequest({ url, data = {}, method = "GET" }) { return new Promise((resolve, reject) => { this._ge.

曹振浩 2368

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

vue cli3的http请求封装

import Cookies from 'js-cookie' const TokenKey = 'access_token' const contractNo = 'contractNo' export function getToken() { return Cookies.get(TokenKey) } export function setToken(token) { ret...

qq_40899714的博客 3445

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

vue 中用 axios封装http请求 封装请求api

vue访问后台接口除了常用的jquery中ajax请求 ,如下 $.ajax({ type: "GET", url: "test.json", data: {username:$("#username").val(), content:$("#content").val()}, dataTy...

lileLife的博客 3367

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

vue 项目封装 axios 的 HTTP 请求

在介绍如何封装 axios 的 http 请求之前,我们先来了解下什么是 axios。 axios 是通过 promise 实现对 ajax 技术 的一种封装,就像 jQuery 实现 ajax 封装一样。 简单来说,ajax 技术实现了网页的局部数据刷新,axios 实现了对 ajax 的封装。 平时开发 vue 项目时,不同模块都会使用 axios 请求后台的接口,代码如下: this.$axios({ method: "POST", url: "接口地址", params: { 参

盛夏温暖流年 1115

vue项目,http封装请求,封装公共的api和调用请求的过程

vuvue.cli,http封装请求,封装公共的api和调用请求的过程 1.封装请求——http.js 在项目src目录下的utils文件夹中新建 http.js文件,这个文件是主要书写几种请求的封装过程。 /**** http.js ****/ // 导入封装好的axios实例 import request from './request' const http ={ /** * methods: 请求 * @param url 请求地址 * @param

xdtz_z的博客 3464

vue,封装axios请求为http

/},})

weixin_47774000的博客 258

Vue项目中封装axios统一管理http请求

1、需求说明 在使用Vue.js框架开发前端项目时,会经常发送ajax请求服务端接口,在开发过程中,需要对axios进一步封装,方便在项目中的使用。 2、Vue项目结构 在本地创建Vue项目,目录结构如下: - public 静态资源文件 - src |- assets 静态资源目录 |- components 公共组件目录 |- http axios封装目录 |- router 路由管理目录 |- store 状态管理目录 |- views 视图组件目录 |- App.vu

柯晓楠 4301

在vue中使用superagent封装http请求

// 配置API接口地址 // 引用superagent import request from 'superagent' // import jsonp from 'superagent-jsonp' // import utils from './utils.js' import store from '@/store' import { Toast } from 'vue-ydui/...

guochao8的博客 1760

vue中请求接口怎么封装公共地址_vue系列-封装http请求

功能支持RESful风格(get,post,delete,put,patch)支持处理格式化URL(/demo/{id})支持请求错误码跳转到指定url使用对外提供两个方法http(url = '', data = {}, method = "GET"):使用http请求getUrl(url = ''):构建完整的url代码import axios from 'axios';//创建axios实例...

weixin_39661589的博客 796

Vue 网络请求http的封装调用

摘要 本文展示了基于Axios的网络请求封装方法,通过拦截器统一处理请求头、Token验证及响应状态。代码示例包含: 基础配置:设置baseURL、超时时间和请求头; 拦截器:请求拦截自动添加Token,响应拦截处理401/403/404等状态码; 方法封装:提供get/post/patch/put的Promise化调用; 接口管理:统一导出用户和角色管理相关API(如登录、密码重置、角色增删改查)。 通过模块化设计提升代码复用性,简化HTTP请求调用流程。 (字数:150)

PLB1314的博客 348

vue http请求封装和解决跨域问题

vue.cli3 axios封装 http 请求以及可能会存在的跨域解决方法1 创建一个vue项目2创建一个 http 文件解决跨域问题 1 创建一个vue项目 下载 axios 插件 npm i axios 在 src 下的 main.js 里面引入: // y引入 HTTP请求 import http from “./config/http.js”; // 引入 axios import...

weixin_45018495的博客 1617

封装vue-resource http请求

import Vue from "vue" import vueResource from "vue-resource" Vue.use(vueResource) export default{ getRequest(url,cb) { return new Promise((resolve, reject) => { Vue.http.get( url, {emulateJSON: true} ) .then(c..

u011927449的博客 306

【工作笔记0023】Vue 中使用 axios 对 http 请求进行封装

将以下代码放入 vue 项目结构中的 utils 文件夹 http.js 文件中: 'use strict' import axios from 'axios' import qs from 'qs' //import storage from '@/utils/storage' axios.defaults.withCredentials = true; //允许携带cookie //...

adamlevine7的博客 370
上一篇: Java 配置文件
下一篇: vue 项目部署到nginx 服务器
Leonardo_Fibonacci
博客等级 码龄10年 110粉丝 247原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值