Axios设置token请求头的三种方式

 更新时间:2024年02月05日 08:59:55   作者:fortune_often_in  
用户登录时,后端会返回一个token,并且保存到浏览器的localstorage中,可以根据localstorage中的token判断用户是否登录,所以当发送请求时,都要携带token给后端进行判断,本文给大家介绍了Axios设置token请求头的三种方式,需要的朋友可以参考下

1、为什么要携带token?

用户登录时,后端会返回一个token,并且保存到浏览器的localstorage中,可以根据localstorage中的token判断用户是否登录,登录后才有权限访问相关的页面,所以当发送请求时,都要携带token给后端进行判断。

2、Axios设置token请求头的三种方式

第一种:配置前置拦截器(因为每次发送axios请求都要携带token信息,所以可以在main.js中进行全局配置)

就是在发送axios请求之前将请求拦截,添加头部信息后再发送请求

import axios from 'axios'
//配置axios的全局基本路径
axios.defaults.baseURL = 'http://localhost:8080';
//全局属性配置,在任意组件内可以使用this.$http获取axios对象
Vue.prototype.$http = axios



// 配置axios前置拦截器,作用是让所有axios请求携带token,后台需要token校验是否登录
axios.interceptors.request.use(config => {
  // 1.从缓存中获取到token,这里的Authorization时登录时你给用户设置token的键值
  let authorization = localStorage.getItem("Authorization");
  // 2.如果token不为null,那么设置到请求头中,此处哪怕为null,我们也不进行处理,因为后台会进行拦截
  if (authorization) {
  //后台给登录用户设置的token的键时什么,headers['''']里的键也应该保持一致
    config.headers['Authorization'] = authorization;
  }
  // 3.放行
  return config;
}, error => {
//失败后抛出错误
  Promise.reject(error);
})

第二种:设置defaults.headers.common来设置全局的请求头

axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;

第三种:直接在请求中加

//get请求
axios.get('/api/data', {   
    headers: {   
        'Authorization': `Bearer ${token}`   
    }   
});
//post请求
axios.post('/api/data', {}, {  
    headers: {  
        'Authorization': `Bearer ${token}`  
    }  
});

到此这篇关于Axios设置token请求头的三种方式的文章就介绍到这了,更多相关Axios设置token请求头内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在使用JSON格式处理数据时应该注意的问题小结

    在使用JSON格式处理数据时应该注意的问题小结

    这篇文章主要介绍了在使用JSON格式处理数据时应该注意的问题,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • JavaScript之appendChild、insertBefore和insertAfter使用说明

    JavaScript之appendChild、insertBefore和insertAfter使用说明

    这几天需要用到对HTML节点元素的删/插操作,由于用到insertBefore方法的时候遇到了一些麻烦,现在作为知识的整理,分别对appendChild、insertBefore和insertAfter做个总结
    2010-12-12
  • JSON格式的键盘编码对照表

    JSON格式的键盘编码对照表

    这篇文章主要介绍了JSON格式的键盘编码对照表,本文给出英文键名、对应数值和中文注释,需要的朋友可以参考下
    2015-01-01
  • Javascript毫秒数用法实例

    Javascript毫秒数用法实例

    这篇文章主要介绍了Javascript毫秒数用法,实例分析了javascript获取毫秒数及设置指定时间毫秒数的方法,需要的朋友可以参考下
    2015-02-02
  • 微信小程序开发常用功能汇总

    微信小程序开发常用功能汇总

    这篇文章主要介绍了微信小程序开发常用功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • js从输入框读取内容,比较两个数字的大小方法

    js从输入框读取内容,比较两个数字的大小方法

    下面小编就为大家带来一篇js从输入框读取内容,比较两个数字的大小方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • 在html中引入外部js文件,并调用带参函数的方法

    在html中引入外部js文件,并调用带参函数的方法

    下面小编就为大家带来一篇在html中引入外部js文件,并调用带参函数的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • JavaScript使用prototype原型实现的封装继承多态示例

    JavaScript使用prototype原型实现的封装继承多态示例

    这篇文章主要介绍了JavaScript使用prototype原型实现的封装继承多态,涉及javascript prototype与面向对象程序设计相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • JS监听组合按键思路及实现过程

    JS监听组合按键思路及实现过程

    这篇文章主要介绍了JS监听组合按键思路及实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • js页面引导页的实现思路总结

    js页面引导页的实现思路总结

    在同学们使用某些网站的新版本页面的时候,经常会出现一个类似于新手引导一样的效果,本文主要介绍了js页面引导页的实现思路总结,感兴趣的可以了解一下
    2023-04-04

最新评论