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}`  
    }  
});

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-06 08:20:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-06 08:20:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-06 08:20:01       82 阅读
  4. Python语言-面向对象

    2024-02-06 08:20:01       91 阅读

热门阅读

  1. seatunnel数据集成(二)数据同步

    2024-02-06 08:20:01       55 阅读
  2. Uni-app 学习笔记

    2024-02-06 08:20:01       55 阅读
  3. 【无标题】summarizations onMysql

    2024-02-06 08:20:01       51 阅读
  4. Linux服务器设置 SSH 通过密钥登录(免密登录)

    2024-02-06 08:20:01       50 阅读
  5. ubuntu22.04挂载磁盘的步骤

    2024-02-06 08:20:01       52 阅读
  6. 【RK3288 Android6 T2pro 支持移远和有方4G模块切换】

    2024-02-06 08:20:01       48 阅读
  7. ubuntu 自动挂载NFS配置

    2024-02-06 08:20:01       47 阅读
  8. Spring和Spring Boot的区别

    2024-02-06 08:20:01       47 阅读
  9. Qt应用软件【协议篇】MQTT协议介绍

    2024-02-06 08:20:01       47 阅读
  10. 算法专题:滑动窗口

    2024-02-06 08:20:01       45 阅读
  11. Python学习之路-Tornado基础:安全应用

    2024-02-06 08:20:01       42 阅读
  12. SpringMVC-响应数据

    2024-02-06 08:20:01       52 阅读
  13. 【计算机二级考试C语言】C排序算法

    2024-02-06 08:20:01       57 阅读
  14. sql常用函数积累(非窗口函数)

    2024-02-06 08:20:01       53 阅读