vue+axios全局添加请求头和参数操作

 更新时间:2020年07月24日 11:31:35   作者:竹叶轻拂水  
这篇文章主要介绍了vue+axios全局添加请求头和参数操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

走登录的接口都会返回一个token值,然后存起来方便之后调接口的时候给后台传过去,传给后台的方式有两种:(具体使用哪种需要和后台商量)

1、放在请求头中

2、放在接口的参数中

1、放在请求头中

下面代码是从本地cookie中拿token

VueCookie:一个用于处理浏览器cookies的简单Vue.js插件.

// 在封装axios的文件中添加拦截器
// 添加请求拦截器,在请求头中加token
service.interceptors.request.use(
 config => {
 // 判断本地的cookie中是否有token
 if (VueCookie.isKey('token')) {
 config.headers.Authorization = VueCookie.get('token')
 } else {
 // 跳转到登录页面(这里使用router,是因为路由文件引入到了此文件里)
 router.push('/login')
 }
 return config
 },
 error => {
 return Promise.reject(error)
 })

这个时候虽然在请求头中放了token,但是后台并拿不到token的值,我们需要在创建axios对象的时候允许请求携带cokie,也可以加到main.js全局里面。

// 放在请求文件中
const service = axios.create({
 baseURL: "http://XXXXXXXXX:XXXX",
 timeout: 10000,
 withCredentials: true // 允许携带cookie
});
// 放在全局main.js中
import axios from "axios";
axios.defaults.withCredentials = true; // 允许携带cookie

2、放在参数中

以下代码是从本地存储localStorage中拿token

// 添加请求拦截器,在参数中加token
service.interceptors.request.use(
 config => {
 // 将token添加到每一个接口的参数中
 // 判断请求的类型:如果是post请求就把默认参数拼到data里面;如果是get请求就拼到params里面
 const token = localStorage.getItem('ISTOKEN')
 if (localStorage.getItem('ISTOKEN')) {
 // 注意:config.method 的判断值必须是小写的post和get
 if (config.method === 'post') {
 config.data = {
  api_token: token,
  ...config.data
 }
 } else if (config.method === 'get') {
 config.params = {
  api_token: token,
  ...config.params
 }
 }
 } else {
 // 跳转到登录页面(这里使用router,是因为路由文件引入到了此文件里)
 router.push('/login')
 }
 return config
 },
 error => {
 return Promise.reject(error)
 })

补充知识:Vue,POST请求头'Content-Type':'application/json;',data上传方法

如下所示:

transformRequest 方法说明axios中文文档

以上这篇vue+axios全局添加请求头和参数操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue watch普通监听和深度监听实例详解(数组和对象)

    vue watch普通监听和深度监听实例详解(数组和对象)

    这篇文章主要介绍了vue watch普通监听和深度监听(数组和对象),文中单独通过代码给大家介绍了vue watch 深度监听的方法,感兴趣的朋友一起看看吧
    2018-08-08
  • vue中v-mode详解及使用示例详解

    vue中v-mode详解及使用示例详解

    这篇文章主要介绍了vue中v-mode详解以及具体的使用示例,在组件中使用 v-model 时,需要定义model选项,指定绑定的prop和事件,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2024-03-03
  • element Dropdown组件意想不到的坑

    element Dropdown组件意想不到的坑

    本文主要介绍了element Dropdown组件意想不到的坑,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • vue-cli配置文件——config篇

    vue-cli配置文件——config篇

    这篇文章主要介绍了vue-cli中的webpack是如何配置的,本篇文章主要是分析vue中关于config文件夹中的相关代码,config的文件结构,感兴趣的朋友参考下本文
    2018-01-01
  • Vue.js条件渲染和列表渲染以及Vue中key值的内部原理

    Vue.js条件渲染和列表渲染以及Vue中key值的内部原理

    这篇文章主要介绍了Vue.js条件渲染和列表渲染,以及Vue中key值的内部原理,文中有详细的代码示例,感兴趣的同学可以参考阅读
    2023-04-04
  • el-tab设置默认激活的标签页实现步骤

    el-tab设置默认激活的标签页实现步骤

    这篇文章主要给大家介绍了关于el-tab设置默认激活的标签页实现步骤,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • vue 部署上线清除浏览器缓存的方式

    vue 部署上线清除浏览器缓存的方式

    这篇文章主要介绍了vue 部署上线清除浏览器缓存的方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Vue实现鼠标悬浮切换图片src

    Vue实现鼠标悬浮切换图片src

    这篇文章主要为大家详细介绍了Vue实现鼠标悬浮切换图片src,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • vue实现图形验证码

    vue实现图形验证码

    这篇文章主要为大家详细介绍了vue实现图形验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Vue进阶之利用transition标签实现页面跳转动画

    Vue进阶之利用transition标签实现页面跳转动画

    这篇文章主要为大家详细介绍了Vue如何利用transition标签实现页面跳转动画,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起一下
    2023-08-08

最新评论