目录

一、全局配置axios

1. 为什么要全局配置 axios

2. 如何全局配置 axios

3. 在 vue3 的项目中全局配置axios

4. 在 vue2 的项目中全局配置 axios

二、axios 拦截器

1. 什么是拦截器

2. 配置请求拦截器

2.1 请求拦截器 – Token 认证

2.2 请求拦截器 – 展示 Loading 效果

3. 配置响应拦截器

3.1 响应拦截器 – 关闭 Loading 效果

展示Loading效果实战示例:

三、proxy 跨域代理

1. 接口的跨域问题

2. 通过代理解决接口的跨域问题

3. 在项目中配置 proxy 代理

步骤1,在main.js 入口文件中,把 axios 的请求根路径改造为当前web 项目的根路径:​编辑

步骤2,在项目根目录下创建vue.config.js 的配置文件,并声明如下的配置:​编辑


一、全局配置axios

1. 为什么要全局配置 axios

在实际项目开发中,几乎每个组件中都会用到 axios 发起数据请求。此时会遇到如下两个问题:

① 每个组件中都需要导入 axios(代码臃肿)

② 每次发请求都需要填写完整的请求路径(不利于后期的维护)

2. 如何全局配置 axios

在 main.js 入口文件中,通过 app.config.globalProperties 全局挂载 axios,示例代码如下:

3. vue3 的项目中全局配置axios

4. vue2 的项目中全局配置 axios

需要在main.js 入口文件中,通过Vue 构造函数的prototype 原型对象全局配置 axios:

二、axios 拦截器

1. 什么是拦截器

拦截器(英文:Interceptors)会在每次发起 ajax 请求和得到响应的时候自动被触发。

应用场景:

① Token 身份认证

② Loading 效果

③ etc…

2. 配置请求拦截器

通过 axios.interceptors.request.use(成功的回调, 失败的回调) 可以配置请求拦截器。示例代码如下:

注意:失败的回调函数可以被省略!

2.1 请求拦截器 Token 认证

2.2 请求拦截器 展示 Loading 效果

借助于element ui 提供的 Loading 效果组件

(https://element.eleme.cn/#/zh-CN/component/loading)  可以方便的实现 Loading 效果的展示:

3. 配置响应拦截器

通过 axios.interceptors.response.use(成功的回调, 失败的回调) 可以配置响应拦截器。示例代码如下:

注意:失败的回调函数可以被省略!

3.1 响应拦截器 关闭 Loading 效果

调用 Loading 实例提供的close() 方法即可关闭 Loading 效果,示例代码如下:

展示Loading效果实战示例:

// 配置请求拦截器
let loadingInstance = null
axios.interceptors.request.use((config) => {// 展示Loading界面loadingInstance = Loading.service({ fullscreen: true })return config
})// 响应拦截器
axios.interceptors.response.use((response) => {loadingInstance.close()return response
})

三、proxy 跨域代理

1. 接口的跨域问题

vue 项目运行的地址:http://localhost:8080/

API 接口运行的地址:http://www.escook.cn/api/users

由于当前的 API 接口没有开启 CORS 跨域资源共享,因此默认情况下,上面的接口无法请求成功!

2. 通过代理解决接口的跨域问题

通过vue-cli 创建的项目在遇到接口跨域问题时,可以通过代理的方式来解决:

① 把 axios 的请求根路径设置为vue 项目的运行地址(接口请求不再跨域)

② vue 项目发现请求的接口不存在,把请求转交给proxy 代理

③ 代理把请求根路径替换为devServer.proxy 属性的值,发起真正的数据请求

④ 代理把请求到的数据,转发给 axios

3. 在项目中配置 proxy 代理

步骤1,在main.js 入口文件中,把 axios 的请求根路径改造为当前web 项目的根路径:

步骤2,在项目根目录下创建vue.config.js 的配置文件,并声明如下的配置:

注意:

① devServer.proxy 提供的代理功能,仅在开发调试阶段生效

② 项目上线发布时,依旧需要API 接口服务器开启 CORS 跨域资源共享

全局配置axios、axios 拦截器 和 proxy 跨域代理相关推荐

  1. vue3.0-axios拦截器、proxy跨域代理

    目录 1. vue-cli 1)vue-cli 2)安装vue-cli ①解决Windows PowerShell不识别vue命令的问题 3)创建项目 4)基于vue ui创建vue项目 5)基于命令 ...

  2. SpringBoot中配置拦截器时,跨域失效

    SpringBoot中配置拦截器时,跨域失效 前后段分离的项目,配置了跨域后,访问正常,但是配置了拦截器以后,有的访问正常,有的出现跨域问题,发现出现跨域问题的都是拦截器里面没有放行的请求. @Con ...

  3. Spring Boot——Spring Security环境下跨域addCorsMappings与拦截器冲突导致跨域失效解决方案

    问题分析 [SpringMVC]与权限拦截器冲突导致的Cors跨域设置失效问题 解决方案 @Beanpublic CorsFilter corsFilter() {//1.添加CORS配置信息Cors ...

  4. uniapp 配置proxy 跨域代理

    1.在manifest.json 文件中的 devServer添加: "devServer" : {"https" : false,"proxy&qu ...

  5. Vue配置axios响应拦截器

    一个项目会发送很多请求到后端,每个请求都有如下的响应 不想每个请求都去判断里面的status,那么可以使用axios的响应拦截器,对服务端返回的一些相同点做统一的处理 比如说如果有报错,就统一弹出这么 ...

  6. axios的拦截器(Interceptors)

    axios 的拦截器:interceptors 如果我们想在请求之前做点什么,用拦截器再好不过了 拦截器一般做什么? 1. 修改请求头的一些配置项 2. 给请求的过程添加一些请求的图标 3. 给请求添 ...

  7. axios (get,post,put,delete),常用配置,全局配置,axios.create(config)配置一个新的axios

    目录 axios 的理解和应用 axios 特点: 使用 axios 发 ajax请求 1. 发送 GET 请求 axios get完整版: axios get精简版: axios get请求发送时携 ...

  8. axios 请求拦截器响应拦截器

    一. 拦截器介绍 一般在使用axios时,会用到拦截器的功能,一般分为两种:请求拦截器.响应拦截器. 请求拦截器 在请求发送前进行必要操作处理,例如添加统一cookie.请求体加验证.设置请求头等,相 ...

  9. 借助axios的拦截器实现Vue.js中登陆状态校验的思路

    在做Vue中的登陆校验时,思路应该是这样的:先确定一个路由页面是否需要登陆才能访问,如果需要,就需要用户登陆,如果不需要,用户直接可以访问. 那么,首先来说,后台系统中,不一定每一个页面都要进行登陆权 ...

最新文章

  1. Dubbo负载均衡与集群容错
  2. 解析Python中的线程与进程
  3. android实现日志列表,【Android开发】listview+popupwindow实践:日志列表
  4. mysql s.`name`_MySQL的基础操作命令
  5. ubuntu下安装PCL并测试(含视频安装过程记录)
  6. 撰写项目的解决方案要点解析
  7. win pxe安装linux,windows系统架设PXE+TFTP+HTTP安装CentOS 4.7 体验
  8. Python笔记 :科赫雪花曲线(计算思维训练1)
  9. Windows 清除DNS缓存C++实现
  10. e admin admin.php,EAdmin极简社区源码
  11. Java程序员从笨鸟到菜鸟之(五十七)细谈Hibernate(八)Hibernate集合Map关系映射
  12. 微信好友突破10000人,节跳动即将取消饮料补贴福利!!
  13. 小程序影藏溢出的gif_视频转gif怎么弄?视频片段转动图 将影视片段制作成微信表情包的方法~...
  14. php phpexcel 内容靠最右边_PHPExcel的使用小结,不够全面,只是应对当前我用到的地方做了笔记,日后再有新的需求还会随时修改...
  15. (78)--用框架爬取招聘信息
  16. 考研英语一历年真题写作(小作文+大作文)自己练习与背诵
  17. 练习作业5: 韩信点兵 , 统计方案 , 出现最频的数
  18. Moore Voting
  19. @import 错误用法
  20. c语言 链表 无头结点,C++ 单链表(无头结点)

热门文章

  1. 嵌入式linux开启无线热点模式(AP),联机设备通过 wifi 热点访问外网
  2. 船舶和计算机结合论文格式,船舶与海洋工程论文.doc
  3. 分层架构图怎么做,先收藏了
  4. visual错误:R6025 pure virtual funcion call
  5. 关于智慧城市的中对智慧的理解
  6. 业余选手成就了软件开发者?
  7. LabVIEW--S1-前言和入门
  8. 腾讯研发动画组件,以后动画制作用PAG
  9. 阿里云安骑士性能特点与使用场景!
  10. Java8 Stream流的常用方法和讲解