vue-06 vue使用axios接口错误拦截

vue2 使用 axios 以上代码封装了 Axios API 的基本用法,并且提供了一定程度的错误处理和默认配置。为了让所有 Vue 组件都能方便地访问 Axios,可以将其挂载到 Vue 的原型上,这样在每个组件中就可以通过 this.$http 来调用 Axios。在 Vue.js 中封装 Axios API 可以简化请求处理并提供统一的错误处理、默认配置和数据格式化。根据实际项目需求,还可以进一步封装 Axios 实例以提供更符合业务逻辑的 API 调用方式。以上就是 Vue 2 中如何使用 Axios 的基本步骤。 阅读详情

目录

1.axios

1.1官方文档

1.2基本使用

1.2.1get请求

1.2.2post请求

1.2.3执行多个并发请求

1.2.4拦截器

1.3统一报错、未登录同意拦截、请求值、返回值同意处理示例

1.3.1main.js


1.axios

1.1官方文档

http://www.axios-js.com/zh-cn/docs/

1.2基本使用

1.2.1get请求

get请求需要添加params对象或者参数跟在请求地址后面

// 为给定 ID 的 user 创建请求
axios.get('/user?ID=12345')
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

// 上面的请求也可以这样做
axios.get('/user', {
    params: {
      ID: 12345
    }
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

1.2.2post请求

post请求不需要加params

axios.post('/user', {
    firstName: 'Fred',
    lastName: 'Flintstone'
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

1.2.3执行多个并发请求

通常用在需要多个请求添加loading加载场景下使用

function getUserAccount() {
  return axios.get('/user/12345');
}

function getUserPermissions() {
  return axios.get('/user/12345/permissions');
}

axios.all([getUserAccount(), getUserPermissions()])
  .then(axios.spread(function (acct, perms) {
    // 两个请求现在都执行完成
  }));

1.2.4拦截器

在请求或响应被 then 或 catch 处理前拦截它们。

request拦截器针对用户请求进行拦截,通过config可以取到参数,对参数进行操作,比如对参数中的日期格式字符串转时间戳等等;

response 可以根据接口规范做错误拦截

// 添加请求拦截器
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    return config;
  }, function (error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  });

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response;
  }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });

1.3统一报错、未登录同意拦截、请求值、返回值同意处理示例

1.3.1main.js

import Vue from 'vue'
import router from "./router";
import axios from "axios";
import VueAxios from "vue-axios";
import App from './App.vue'
//设置axios 基础值
//根据前端跨域做调整,使用代理可以把api给替换为空
axios.defaults.baseURL ='/api';
//推荐是8秒
axios.defaults.timeout =8000;
Vue.use(VueAxios, axios);
//生产环境的提示
Vue.config.productionTip = false;
//接口规范如下
/*{
  status:0,
  data:[],
  msg:""
}*/
//接口错误拦截
axios.interceptors.response.use(function (response) {
    //取到返回的值
    let res = response.data;
    if (res.status == 0) {
      //成功
        res.data;
    }else if(res.status == 10){
      //未登录状态码,跳转登陆页面
      window.location.href='/#/login';
    }else{
      alert(res.msg);
    }
});
new Vue({
    router: router,
    render: h => h(App),
}).$mount('#app');

 

暑期实习前端面试笔试总结汇总 腾讯2020暑期实习——前端视频面试(1)回顾 腾讯2020暑期实习——前端视频面试(2)回顾 腾讯2020暑期实习——前端视频面试(3)回顾 腾讯2020暑期实习——前端视频面试(4)回顾 蘑菇街2020暑期实习——前端视频面试回顾 二、笔试 奇安信前端实习笔试总结 vivo笔试(2020年3月8日) ... 阅读详情

相关推荐

用WorkBuddy搭建漫剧AI自动化制作流水线全攻略

在内容创作领域,AI智能体正逐渐从单一工具辅助走向全流程自动化调度。其核心原理是将剧本、分镜、绘图、配音、剪辑等环节拆解为可独立执行的任务单元,由总控系统统一协调,从而大幅降低人力与时间成本。这种模式尤其适用于动态漫画(漫剧)这类环节多、专业度要求高的视频形态。传统制作流程中,角色一致性、配音周期和剪辑返工是公认的效率瓶颈,而借助AI智能体工作台,创作者只需输入故事创意,即可驱动多个数字分身协同完成内容生产。本文以WorkBuddy为例,详细展示如何配置模型、安装技能包并串联五段式流水线,将单集制作成本从万

weixin_28224217的博客 251

axios关于error的处理

 第一种是axios发出请求后在then()中的第二个参数中处理error. apiPost(url, data) { return new Promise((resolve, reject) => { axios.post(url, data).then((response) => { res...

潜行IT的博客 2万+

【SAP中的框架协议】

在SAP中,框架协议(Framework Agreement) 是企业与供应商签订的长期采购约束文件,用于简化重复性采购流程、锁定交易条款并降低管理成本。

m0_73548864的博客 1294

拦截器

拦截器 在请求或响应被then或catch处理前拦截它们。 // 添加请求拦截器 axios.interceptors.request.use(function (config) { // 在发送请求之前做些什么 return config; }, function (error) { // 对请求错误做些什么 return Promise.rej...

linanran1027的博客 275

Win11上WSL2安装Ubuntu22.04避坑指南:从镜像源到C++环境配置

本文详细介绍了在Win11系统上安装和配置WSL2及Ubuntu22.04开发环境的完整流程与避坑指南。内容涵盖从解决网络安装错误、更换国内镜像源以加速软件更新,到一站式配置C++开发工具链(包括GCC、GDB、CMake等),并提供了提升WSL2使用体验的实用技巧和故障排除方法,帮助开发者高效搭建稳定的Linux开发环境。

weixin_29306261的博客 474

手把手教你用键盘在Ubuntu上给Lerobot机械臂采集HIL-SERL训练数据(附完整配置文件)

本文详细介绍了在Ubuntu系统中使用键盘控制Lerobot机械臂进行HIL-SERL训练数据采集的完整流程。从环境准备、机械臂校准到键盘遥操系统配置和数据采集优化,提供了实战指南和常见问题解决方案,帮助读者高效获取高质量训练数据,推动具身智能和强化学习应用的发展。

weixin_30733003的博客 477

axios设置请求拦截后,数据请求成功,走error的问题

这个时候看一下response拦截器这里的代码 中间有这样一句 service.interceptors.response.use( response=>{ //在status正确的情况下,code不正确则返回相应的错误信息 return response.data.code === 200 ? response:Promise.reject(response.data.message); }) 注意一下这里return的值。我自己调试的时候出现标题描述的这个问题,是..

sinat_39648402的博客 5783

Ubuntu 22.04 实战:为WIFI6网卡Realtek RTL8852BE手动编译驱动指南

本文详细介绍了在Ubuntu 22.04系统上为Realtek RTL8852BE WIFI6网卡手动编译驱动的完整指南。从问题诊断、环境准备到源码获取、编译安装,逐步解决驱动缺失问题,并提供常见问题排查和性能优化建议,帮助用户充分发挥WIFI6网卡性能。

weixin_30808693的博客 478

axios 什么时候走then 方法;如何捕捉错误的状态码

axios 什么时候走then 方法,源码在defaults.js文件中找到了答案 validateStatus: function validateStatus(status) { return status >= 200 && status < 300; } 也就是说在我们没有设置adapter的validateStatus方法的时候,status在200到300之间会调用then方法,或者准确点说叫resolve方法 如何捕捉错误的状态码 错误的状态码 axios

a393007511的博客 3108

ERGM指数随机图模型全解析:从基础原理到R语言实操

从社交网络中的互惠、传递性和同质性等基本现象切入,介绍网络数据与传统回归分析的本质差异——边与边之间的依赖关系。指数随机图模型(ERGM)正是为刻画这种依赖结构而设计的统计框架,它通过指数族分布将网络结构效应显式建模,结合MCMC方法完成参数估计。ERGM在组织协作、传播扩散、生物生态等领域的应用日益广泛,其扩展模型TERGM、GERGM和多层ERGM进一步支持时序、权重与多重关系网络。本文系统梳理ERGM的理论基础、核心统计量、扩展模型选型及R语言实操要点,帮助研究者理解网络生成机制并完成收敛性诊断与结果

weixin_29050271的博客 358

当R语言遇见MaxENT:参数优化的艺术与自动化调参实践

本文探讨了R语言与MaxENT在生态位建模中的结合应用,重点介绍了参数优化与自动化调参的实践方法。通过caret与ENMeval工具链,研究人员可以高效处理多物种、多环境变量的大规模分析任务,提升模型性能与工作效率。文章还涵盖了从数据准备到结果可视化的全流程,为生态学家提供了实用的技术指导。

corn8的博客 455

使用 Axios 处理 AxiosError 的三种常见方法

总结了三种常见的使用 Axios 处理 AxiosError 的方法,解决使用axios处理请求的时候错误处理的问题。

笔记、经验、日常分享 9272

【即插即用模块】注意力篇 | TGRS 2025 | CDFIM:通道+空间多尺度注意力,双模态特征融合增强,性能翻倍!

C2DFF-Net提出了一种轻量级跨模态特征融合模块CDFIM,通过模态差异感知和多尺度深度滤波增强双模态互补信息。该模块采用通道-空间注意力协同机制,以极低计算成本(仅增加0.26M参数)提升多模态目标检测性能,在三个遥感数据集上平均提升mAP约1.7%。适用于无人机等边缘设备的实时检测任务,为跨模态融合提供高效解决方案。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 623

06-使用axios发送登录请求

使用axios发送登录请求 vue项目实战系列 主要内容: axios的安装 使用axios发送请求 vue cli 3.0跨域的设置 在项目中使用YAPI模拟登录接口 1 任务概述 我们在前面已经实现了在表单中输入用户名和密码,点击登录按钮后跳转到主页的功能,而且也在YAPI上设计好了登录接口,接下来的任务是在输入用户名和密码后,点击登录按钮,我们开始发送登录请求,根据接口返回的消息,成功后...

寒雪谷 9424

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

axios 实战进阶练习( axios 封装篇)——基于 Vue3 + Node.js + ElementPlus 实现的联系人列表管理后台的 axios 封装实战

在之前的文章 axios 实战进阶练习——基于 Vue3 + Node.js + ElementPlus 实现的联系人列表管理后台 中,我们完成了这个基于 Vue3 + Node.js + ElementPlus 实现的联系人列表管理后台的项目,其中项目的后端接口是用 Node.js 编写的,通过 axios 来获取接口,所以这篇文章我们来对这个 axios 进一步的封装。

黛琳ghz的博客,期待你的关注。 5万+

计算机控制技术及应用

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

06.Axios HTTP库集成详细指南

Axios是一个基于Promise的HTTP客户端库,用于浏览器和Node.js环境。它是目前最受欢迎的JavaScript HTTP请求库之一,为Vue.js应用提供了完善的API请求解决方案。API模块化设计按功能模块分离API统一的错误处理标准化的响应格式错误处理策略全局错误拦截器分类错误处理用户友好的错误提示性能优化合理使用缓存机制请求去重和合并响应数据压缩安全考虑Token自动刷新请求加密(HTTPS)防止CSRF攻击开发体验统一的API调用方式。

yk_dflkg的博客 1167

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

vue 后台管理 之 axios使用及接口拦截响应等

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中从浏览器中创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换 JSON 数据客户端支持防御 XSRF网址: https://www.javasoho.com/axios/index.html#axios-request-config。

m0_47186697的博客 451

vue2.0中Ajax库(axios)

差点断更,最近换了新公司,新项目用的vue1,花了4天时间升级了大部分页面到vue2;     在main.js中导入axios,并在vue的原型上添加该实例: import axios from 'axios' Vue.prototype.$ajax = axios; 当然Vue.prototype.$ajax也可以换成Vue.prototype.http,你开心就好,或者这个姿

侞婼冇罪 6285

axios请求拦截

import Vue from 'vue' import axios from 'axios' import {ConfirmPlugin} from "vux"; import errorImgUrl from '@/assets/images/nw_blank_06.png' Vue.use(ConfirmPlugin) axios.defaults.timeout = 6000 //发送请...

qq_36367314的博客 497

vue基础知识总结(2)--- axios的使用

Axios 是一个基于promise网络请求库,作用于node.js和浏览器中。它是isomorphic的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.jshttp模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。

记得开心一点嘛的博客 1586

后端程序员的前端必备【Vue】 - 06 axios语法、使用、并发请求、全局配置、拦截器

axios语法、使用、并发请求、全局配置、拦截器

yinying293的博客 268

Vue2之axios在脚手架中的使用以及前后端交互

注意: 上面我是基于sqpringboot写的。大家可以使用ssm或者javaweb进行搭建。关于springboot的项目创建可以参考我之前的博客==>这里的xxx代表那个模块。分模块开发有助于维护。关于axios的语法讲解请看我之前的博客。反引号是tab键上面那个。打开终端输入以下命名安装axios。如果报错 按两次crtl+s。第二次prettier生效。第一次Eslint生效。运行如下指令启动项目。

xrkhy的博客 1729

Vue.js与axios

/ 创建实例时配置默认值});// 创建实例后修改默认值。

游王子og的博客 1463

06 接口测试平台 前端登录接口对接

上节已经完成了后端登录接口编写,本节将介绍前端如何进行接口对接。

最好的状态是未来可期 1327

vue3 axios封装

vue3 axios 封装

m0_52775179的博客 349

简单的vue+axios+mock配合使用

1.安装axios(npm install axios --s),在src下新建utils目录(工具目录),在utils下新建request.js文件为axios的封装文件。2.安装mockjs(npm install mockjs --s),在src目录下创建api目录,在api目录中创建index.js文件和mock.js文件和mockServeData文件。在mockServeData目录下创建一个mock模拟接口permission.js文件:其中返回的data数据是自定义的。

m0_60822634的博客 803
上一篇: vue-05 sessionStorage封装
下一篇: vue-07 接口环境设置
别浪呀
博客等级 码龄8年 1万+粉丝 260原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值