如何使用vue axios进行请求拦截

这次给大家带来如何使用vue axios进行请求拦截,使用vue axios进行请求拦截的注意事项有哪些,下面就是实战案例,一起来看一下。

axios 简介

axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:

从浏览器中创建 XMLHttpRequest
从 node.js 发出 http 请求
支持 Promise API
拦截请求和响应
转换请求和响应数据
取消请求
自动转换JSON数据
客户端支持防止 CSRF/XSRF

下面代码给大家介绍vue axios 请求拦截,具体代码如下所示:

import axios from 'axios';//引入axios依赖import { Message } from 'element-ui';import Cookies from 'js-cookie'; //引入cookie操作依赖import router from '@/router/index'//引入路由对象axios.defaults.timeout = 5000;axios.defaults.baseURL ='';//http request 封装请求头拦截器axios.interceptors.request.use(  config => {    var token = ''    if(typeof Cookies.get('user') === 'undefined'){      //此时为空    }else {      token = JSON.parse(Cookies.get('user')).token    }//注意使用的时候需要引入cookie方法,推荐js-cookie    config.data = JSON.stringify(config.data);    config.headers = {      'Content-Type':'application/json'    }    if(token != ''){     config.headers.token = token;    }    return config;  },  error => {    return Promise.reject(err);  });//http response 封装后台返回拦截器axios.interceptors.response.use(  response => {    //当返回信息为未登录或者登录失效的时候重定向为登录页面    if(response.data.code == 'W_100004' || response.data.message == '用户未登录或登录超时,请登录!'){      router.push({        path:"/",        querry:{redirect:router.currentRoute.fullPath}//从哪个页面跳转      })    }    return response;  },  error => {    return Promise.reject(error)  })/** * 封装get方法 * @param url * @param data * @returns {Promise} */export function fetch(url,params={}){  return new Promise((resolve,reject) => {    axios.get(url,{      params:params    })      .then(response => {        resolve(response.data);      })      .catch(err => {        reject(err)      })  })}/** * 封装post请求 * @param url * @param data * @returns {Promise} */export function post(url,data = {}){  return new Promise((resolve,reject) => {    axios.post(url,data)      .then(response => {        resolve(response.data);      },err => {        reject(err)      })  })}/** * 封装导出Excal文件请求 * @param url * @param data * @returns {Promise} */export function exportExcel(url,data = {}){  return new Promise((resolve,reject) => {    axios({      method: 'post',      url: url, // 请求地址      data: data, // 参数      responseType: 'blob' // 表明返回服务器返回的数据类型    })    .then(response => {      resolve(response.data);      let blob = new Blob([response.data], {type: "application/vnd.ms-excel"});      let fileName = "订单列表_"+Date.parse(new Date())+".xls" ;      if (window.navigator.msSaveOrOpenBlob) {        navigator.msSaveBlob(blob, fileName);      } else {        var link = document.createElement('a');        link.href = window.URL.createObjectURL(blob);        link.download = fileName;        link.click();        window.URL.revokeObjectURL(link.href);      }    },err => {      reject(err)    })  })}/** * 封装patch请求 * @param url * @param data * @returns {Promise} */export function patch(url,data = {}){  return new Promise((resolve,reject) => {    axios.patch(url,data)      .then(response => {        resolve(response.data);      },err => {        reject(err)      })  })}/** * 封装put请求 * @param url * @param data * @returns {Promise} */export function put(url,data = {}){  return new Promise((resolve,reject) => {    axios.put(url,data)      .then(response => {        resolve(response.data);      },err => {        reject(err)      })  })}

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

怎样使用vue实现全选反选

怎样使用Angular对服务端进行渲染

以上就是如何使用vue axios进行请求拦截的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2756558.html

(0)
上一篇 2025年3月8日 07:40:19
下一篇 2025年3月8日 07:40:30

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 如何利用JS分时函数进行性能优化

    这次给大家带来如何利用JS分时函数进行性能优化,利用JS分时函数进行性能优化的注意事项有哪些,下面就是实战案例,一起来看一下。 分时函数和函数节流的问题不一样,函数节流针对的事件不是用户主动调用的,前面已经提过了。 函数节流的原理是:延迟当…

    编程技术 2025年3月8日
    200
  • 如何对vue渲染时闪烁{{}}进行处理

    这次给大家带来如何对vue渲染时闪烁{{}}进行处理,对vue渲染时闪烁{{}}进行处理的注意事项有哪些,下面就是实战案例,一起来看一下。 v-if和v-show可能是日常开发中最常用的两个指令,虽然看上去两者功能是类似的,但是两者还是存在…

    编程技术 2025年3月8日
    200
  • 怎样使用vue-cli axios请求方式及跨域处理

    这次给大家带来怎样使用vue-cli axios请求方式及跨域处理,使用vue-cli axios请求方式及跨域处理的注意事项有哪些,下面就是实战案例,一起来看一下。 安装axios cnpm install axios –save 登录…

    编程技术 2025年3月8日
    200
  • vue-cli开发环境实现跨域请求的方法

    本篇文章主要介绍了vue-cli开发环境实现跨域请求的方法,现在分享给大家,也给大家做个参考。 前端开发时,请求后台接口经常需要跨域,vue-cli实现跨域请求只需要打开config/index.js,修改如下内容即可。 //例如要请求的接…

    编程技术 2025年3月8日
    200
  • vue利用axios来完成数据的交互

    这篇文章主要介绍了vue利用axios来完成数据的交互,本文通过实例代码给大家讲解数据交互方法及安装方法,需要的朋友可以参考下 axios基于 Promise 的 HTTP 请求客户端,可同时在浏览器和 node.js 中使用 现在Vue官…

    2025年3月8日
    200
  • Postman模拟发送带token的请求方法

    下面我就为大家分享一篇postman模拟发送带token的请求方法,具有很好的参考价值,希望对大家有所帮助。 Postman模拟发送带token的请求方法 1)google浏览器中安装扩展程序Interceptor 2)Postman中开启…

    2025年3月8日
    200
  • 如何进行Angular网络请求封装

    这次给大家带来如何进行Angular网络请求封装,进行Angular网络请求封装的注意事项有哪些,下面就是实战案例,一起来看一下。 这里我来说说我自己的网络请求封装,某种意义上来说,angular自己的网络请求封装的很好的,我们没有必要再来…

    编程技术 2025年3月8日
    200
  • vue axios请求拦截实例代码

    axios 是一个基于promise 用于浏览器和 nodejs 的 http 客户端.这篇文章主要介绍了vue/axios请求拦截的相关知识,需要的朋友可以参考下 axios 简介 axios 是一个基于Promise 用于浏览器和 no…

    编程技术 2025年3月8日
    200
  • 如何使用Vue二次封装axios插件

    这次给大家带来如何使用Vue二次封装axios插件,使用Vue二次封装axios插件的注意事项有哪些,下面就是实战案例,一起来看一下。 不管用什么方式获取数据,对于一个项目来说,代码一定要利于维护其次是一定要写的优美,因此加上一层封装是必要…

    编程技术 2025年3月8日
    200
  • 怎样进行Node.js模块全局安装路径配置

    这次给大家带来怎样进行Node.js模块全局安装路径配置,进行Node.js模块全局安装路径配置的注意事项有哪些,下面就是实战案例,一起来看一下。 下载安装NodeJS后,在自己选择的路径下会有如下的文件: 默认情况下NodeJS安装会同时…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论