返回顶部
首页 > 资讯 > 精选 >vue axios拦截器怎么使用
  • 343
分享到

vue axios拦截器怎么使用

2023-06-29 22:06:42 343人浏览 八月长安
摘要

本文小编为大家详细介绍“Vue axiOS拦截器怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue axios拦截器怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、首先axios不支持vue

本文小编为大家详细介绍“Vue axiOS拦截器怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue axios拦截器怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1、首先axios不支持vue.use()方式声明使用

看了所有近乎相同的axios文档都没有提到这一点

建议方式

在main.js中如下声明使用

import axios from 'axios';Vue.prototype.$axios=axios;

那么在其他vue组件中就可以this.$axios调用使用 

2.小小的提一下vue cli脚手架

前端后端数据接口时候的本地代理跨域问题,如我在本地localhost访问接口Http://40.00.100.100:3002/是要跨域的,相当于浏览器设置了一到门槛,会报错

XMLHTTPRequest can not load http://40.00.100.100:3002/. Response to preflight request doesn’t pass access control….

为什么跨域同源非同源自己去查吧,在webpack配置一下proxyTable就OK了,如下

config/index.js

dev: {    加入以下    proxyTable: {      '/api': {        target: 'http://40.00.100.100:3002/',//设置你调用的接口域名和端口号 别忘了加http        changeOrigin: true,        pathRewrite: {          '^/api': '/'//这里理解成用‘/api'代替target里面的地址,后面组件中我们掉接口时直接用api代替 比如我要调用'http://40.00.100.100:3002/user/add',直接写‘/api/user/add'即可        }      }    },

试一下,跨域成功了,但是注意了,这只是开发环境(dev)中解决了跨域问题,生产环境中真正部署到服务器上如果是非同源还是存在跨域问题,如我们部署的服务器端口是3001,需要前后端联调,第一步前端我们可以分生产production和开发development两种环境分别测试,在config/dev.env.js和prod.env.js里也就是开发/生产环境下分别配置一下请求的地址API_HOST,开发环境中我们用上面配置的代理地址api,生产环境下用正常的接口地址,所以这样配置

module.exports = merge(prodEnv, {  node_ENV: '"development"',//开发环境  API_HOST:"/api/"})
module.exports = {  NODE_ENV: '"production"',//生产环境  API_HOST:'"http://40.00.100.100:3002/"'}

当然不管是开发还是生产环境都可以直接请求http://40.00.100.100:3002/。

配置好之后测试时程序会自动判断当前是开发还是生产环境,然后自动匹配API_HOST,我们在任何组件里都能用process.env.API_HOST来使用地址如

instance.post(process.env.API_HOST+'user/login', this.fORM)

然后第二步后端服务器配置一下cros跨域即可,就是access-control-allow-origin:*允许所有访问的意思。综上:开发的环境下我们前端可以自己配置个proxy代理就能跨域了,真正的生产环境下还需要后端的配合的。

某大神说:此方法ie9及以下不好使,如果需要兼容,最好的办法是后端在服务器端口加个代理,效果类似开发时WEBpack的代理。

3、axios发送get post请求问题

发送post请求时一般都要设置Content-Type,发送内容的类型,application/JSON指发送json对象但是要提前stringify一下。application/xxxx-form指发送?a=b&c=d格式,可以用qs的方法格式化一下,qs在安装axios后会自动安装,只需要组件里import一下即可。

const postData=JSON.stringify(this.formCustomer);'Content-Type':'application/json'}const postData=Qs.stringify(this.formCustomer);//过滤成?&=格式'Content-Type':'application/xxxx-form'}

4.axios拦截器的使用

当我们访问某个地址页面时,有时会要求我们重新登录后再访问该页面,也就是身份认证失效了,如token丢失了,或者是token依然存在本地,但是却失效了,所以单单判断本地有没有token值不能解决问题。

此时请求时服务器返回的是401错误,授权出错,也就是没有权利访问该页面。

我们可以在发送所有请求之前和操作服务器响应数据之前对这种情况过滤。

// http request 请求拦截器,有token值则配置上token值axios.interceptors.request.use(    config => {        if (token) {  // 每次发送请求之前判断是否存在token,如果存在,则统一在http请求的header都加上token,不用每次请求都手动添加了            config.headers.Authorization = token;        }        return config;    },    err => {        return Promise.reject(err);    });// http response 服务器响应拦截器,这里拦截401错误,并重新跳入登页重新获取tokenaxios.interceptors.response.use(    response => {        return response;    },    error => {        if (error.response) {            switch (error.response.status) {                case 401:                    // 这里写清除token的代码                    router.replace({                        path: 'login',                        query: {redirect: router.currentRoute.fullPath}//登录成功后跳入浏览的当前页面                    })            }        }        return Promise.reject(error.response.data)     });

读到这里,这篇“vue axios拦截器怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: vue axios拦截器怎么使用

本文链接: https://lsjlt.com/news/326458.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue axios拦截器怎么使用
    本文小编为大家详细介绍“vue axios拦截器怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue axios拦截器怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、首先axios不支持vue...
    99+
    2023-06-29
  • 怎么使用vue和axios实现登录拦截
    本篇内容主要讲解“怎么使用vue和axios实现登录拦截”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用vue和axios实现登录拦截”吧!该项目是利用了Github 提供的persona...
    99+
    2023-07-04
  • vue的Vue.http.interceptors.push拦截器怎么使用
    这篇文章主要介绍“vue的Vue.http.interceptors.push拦截器怎么使用”,在日常操作中,相信很多人在vue的Vue.http.interceptors.push拦截器怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简...
    99+
    2023-07-04
  • vue2中使用axios及axios拦截器的配置教程
    目录一、vue2项目中如何实现异步请求1、axios:是一个基于Promise的网络请求库。2、vue中的使用方法3、axios中不同请求方式向服务器提交数据的格式:二、axios拦...
    99+
    2023-05-19
    vue axios 拦截器 vue2 axios拦截器 vue axios用法
  • vue+axios如何实现登录拦截
    这篇文章给大家分享的是有关vue+axios如何实现登录拦截的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。该项目是利用了Github 提供的personal token作为登录t...
    99+
    2024-04-02
  • vue axios拦截器常用之重复请求取消
    引言 上一篇介绍了axios的简单封装,知道了axios拦截器的应用场景和方法,今天来看一下对于响应时间过长且请求次数过高的情况拦截器如何处理。 取消请求的方法 Axios使用内部...
    99+
    2024-04-02
  • axios拦截器、ElementUI组件的使用方法
    目录一、axios拦截器1、axios模块的作用2、拦截器 3、使用方法二、ElementUI1、简介:是’饿了么’公司推出的基于Vue2.0的组件...
    99+
    2023-01-11
    axios拦截器ElementUI组件使用 axios拦截器 ElementUI组件使用
  • vue-resource拦截器interceptor怎么用
    这篇文章主要介绍了vue-resource拦截器interceptor怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。拦截器-inter...
    99+
    2024-04-02
  • vue中怎么利用axios实现一个登录请求拦截器
    vue中怎么利用axios实现一个登录请求拦截器,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.安装配置axioscnpm install ...
    99+
    2024-04-02
  • vue中Axios如何添加拦截器刷新token
    这篇文章将为大家详细讲解有关vue中Axios如何添加拦截器刷新token,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Axios是一款网络前端请求框架,基本用法如下:1. Axios基本用法: ...
    99+
    2023-06-29
  • Vue3 使用axios拦截器打印前端日志
    目录一、前言二、使用axios拦截器打印前端日志一、前言 很多时候我们需要对前端进行调试,也就是前后端接口之间交互的调试,常用的方式肯定是打日志了,如console.log ('日志...
    99+
    2024-04-02
  • react axios请求拦截怎么实现
    本教程操作环境:Windows7系统、react17.0.1版、Dell G3电脑。react axios请求拦截怎么实现react 封装axios请求拦截、响应拦截、封装post、get请求默认你已经创建好了一个react项目首先我们需要...
    99+
    2022-11-22
    axios React
  • 怎么消除axios拦截中的if
    今天小编给大家分享一下怎么消除axios拦截中的if的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。基本拦截axios的响应错...
    99+
    2023-06-30
  • SpringMVC拦截器怎么使用
    今天小编给大家分享一下SpringMVC拦截器怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。SpringMVC 的拦...
    99+
    2023-07-05
  • mybatis拦截器怎么使用
    今天小编给大家分享一下mybatis拦截器怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。mybatis实战之拦截器在...
    99+
    2023-07-05
  • vue中axios请求拦截的示例分析
    这篇文章主要介绍vue中axios请求拦截的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!axios 简介axios 是一个基于Promise 用于浏览器和 nodejs 的...
    99+
    2024-04-02
  • vue cli+axios踩坑记录+拦截器使用方式,代理跨域proxy
    目录1.首先axios不支持vue.use()方式声明使用2.小小的提一下vue cli脚手架3.axios发送get post请求问题4.axios拦截器的使用1.首先axios不...
    99+
    2024-04-02
  • 使用Axios拦截器解决前端并发冲突
    这篇文章主要讲解了“使用Axios拦截器解决前端并发冲突”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“使用Axios拦截器解决前端并发冲突”吧!背景并发冲突...
    99+
    2024-04-02
  • vue中如何使用Vue.http.interceptors.push拦截器
    这期内容当中小编将会给大家带来有关vue中如何使用Vue.http.interceptors.push拦截器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。import&n...
    99+
    2024-04-02
  • SpringBoot怎么使用Interceptor拦截器
    这篇文章主要讲解了“SpringBoot怎么使用Interceptor拦截器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot怎么使用Interceptor拦截器”吧!在sp...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作