axios设置请求头无效,采用axios请求拦截实现

2023-11-02

axios 的运用

目录

axios 的运用

axios 请求头设置相关问题

axios 设置请求头的几种方式:(以 token 为例)

1. 全局修改源码配置项

2. 在单个请求中设置

3. 在新建的实例中设置

4. 在 axios 提供的请求拦截器中设置


axios 请求头设置相关问题

在项目实践中,使用axios设置请求头headers,结果在请求过程中请求头中并没有包含headers中设置的请求头信息,而且后台也没有接收到前台设置的请求头信息,导致数据无法进行校验,请求失败

GET 请求方式

import axios from 'axios'

const params = {}
const config = {
    headers: {
        token: 'xxx'
    }
}

axios.get('/user/info', params, config).then(res => {
    // do something
    // ...
}).catch(err => {
    console.log(err)
})

 

POST请求方式:

import axios from 'axios'

const loginForm = {
    username: 'xxx',
    password: 'xxx'
}
const config = {
    header = {
        "Content-Type":"application/json"
    }
}
axios.post('/user/login', loginForm, config).then(res => {
    // do something
    // ...
}).catch(err => {
    console.log(err)
})

查看请求结果时,发现请求头headers中并没有设置的headers信息,即没有token

解决axios请求无法设置请求头headers

import axios from 'axios'

axios.interceptors.request.use(
    config => {
        config.headers.token = 'xxx'
        // do something
        // ...
        return config
    },
    error => {
        return Promise.reject(error)
    }
)

 设置请求拦截之后,每次发送请求且在返回请求数据之前都会调用这个方法对请求头进行设置

axios 设置请求头的几种方式:(以 token 为例)

1. 全局修改源码配置项

import axios from 'axios'

const config = {
    headers: {
        token: "xxx"
    }
}

axios.request(config)

2. 在单个请求中设置

import axios from 'axios'

const params = {}
const config = {
    headers: {
        token: 'xxx'
    }
}

axios.get('/user/info', params, config).then(res => {
    // do something
    // ...
})

axios.post('/user/info', params, config).then(res => {
    // do something
    // ...
})

3. 在新建的实例中设置

import axios from 'axios'

const options = {
    baseURL: 'http://xxx/api',
    timeout: 60000,
    headers: {
        token: 'xxx'
    }
}

const request = axios.create(options)

const params = {}

request.post('/user/info', params).then(res => {
    // do something
    // ...
}).catch(err => console.log(err))

request.get('/user/info', params).then(res => {
    // do something
    // ...
})

4. 在 axios 提供的请求拦截器中设置

import axios from 'axios'

axios.interceptors.request.use(
    config => {
        config.headers.token = 'xxx'
        // do something
        // ...
        return config
    }
)

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

axios设置请求头无效,采用axios请求拦截实现 的相关文章

随机推荐

  • JAVA模拟堆

    堆的性质 堆是一种特殊的树 只要满足以下两点 它就是一个堆 堆是一个完全二叉树 堆中每一个节点的值都必须大于等于 或小于等于 其子树中每个节点的值 第一点 堆必须是一个完全二叉树 完全二叉树要求 除了最后一层 其他层的节点个数都是满的 最后
  • Android 性能优化之资源图

    目前很多美工图都是把切给IOS的图丢给Android开发 然后苦逼的Android开发就拿着这一套图进行撸 殊不知此时的地雷已经悄悄埋好 等待着有缘人去踩 梳理一下变成雷的原因 个人拙见 假如美工给了我们一套xxhdpi的资源图 我们将这张
  • postgis各版本离线包下载

    下载地址https www postgresql org ftp postgis
  • 基于顺序存储结构的图书信息表的创建和输出

    基于顺序存储结构的图书信息表的创建和输出 描述 定义一个包含图书信息 书号 书名 价格 的顺序表 读入相应的图书数据来完成图书信息表的创建 然后统计图书表中的图书个数 同时逐行输出每本图书的信息 输入 输入n 1行 其中前n行是n本图书的信
  • 设计模式——外观模式

    一 外观模式 1 1 概述 在现实生活中 常常存在办事较复杂的例子 如办房产证或注册一家公司 有时要同多个部门联系 这时要是有一个综合部门能解决一切手续问题就好了 有些人可能炒过股票 但其实大部分人都不太懂 这种没有足够了解证券知识的情况下
  • windows+vscode+git+github 保姆级使用教程

    windows vscode git github 保姆级使用教程 关于git和github 抛开官方定义 这里通俗地解释下他们的关系 我们常用github这个网站来存取代码 基本存取的方式是git 更便捷的存取的方式是vscode 举个例
  • 【实验报告】实验三 交换机的配置

    实验三 交换机的配置 第一个实验 用两台思科2960交换机构建如下拓扑结构的局域网 作业 1 请同学们参照上诉完成对另外一个交换机的相关配置 也划分初 vlan2 vlan3 和 vlan4 配置完毕后请同学们利用 PC0 ping PC1
  • 【pulsar学习】kafka存在的问题与pulsar应用场景

    文章目录 kafka存在的问题 pulsar的应用场景 kafka存在的问题 Kafka 很难进行扩展 因为 Kafka 把消息持久化在 broker 中 迁移主题分区时 需要把分区的数据完全复制到其他 broker 中 这个操作非常耗时
  • Flutter 通过命名路游跳转页面

    1 定义路由陆游 这里我们建一个存放路游的类 定义跳转页面使用 class Routers static String root splash static String login login static String work sor
  • 一文教你玩转Mybatis,超详细代码讲解与实战

    一 Mybatis 入门 1 1 什么是MyBatis MyBatis本是apache的一个开源项目iBatis 2010年这个项目由apache software foundation迁移到了google code 并且改名为MyBati
  • vue使用elementUI中日期选择器

    vue使用elementUI中日期选择器 需求 默认选中近一个月的 仅能选择今天到三年前的日期 今天以后的日期不可选
  • cisco: L2TP over ipsec的配置(1)

    用WINDOWS的L2TP客户端进行VPN连接时默认情况下是进行IPSEC加密的 当然通过更改注册表可以使L2TP不用IPSEC加密 不过在这里我们是要在CISCO路由器下进行L2TP OVER IPSEC的相关配置 使得用户可以在不更改注
  • 文件属性与目录

    目录 Linux 系统中的文件类型 7种 普通文件 目录文件 字符设备文件和块设备文件 符号链接文件 管道文件 套接字文件 stat 函数 struct stat 结构体 st mode 变量 struct timespec 结构体 练习
  • 有了这15款编程游戏,谁都可以学编程!

    1 Coding Games 一边玩游戏 一边挑战编程难题 Coding games支持包括PHP C JavaScript在内的20多种编程语言 用户界面功能强大 可以定制 例如 你可以选择你的代码编辑器的风格 Emacs Vim Cla
  • unity 2017.3 Tips 重置场景后变暗(丢失烘焙效果)

    Unity 2017 3重置游戏场景后场景变暗 这是重置场景的代码 其实就是重新载入本场景 SceneManager LoadScene int 原因 选择的光照模式是实时光照 编辑器在当前场景时 它的灯光是已经渲染好了 但重新加载的时候灯
  • 海量数据随机抽样问题(蓄水池问题)

    海量数据随机抽样问题 蓄水池问题 随机抽样问题表示如下 要求从N个元素中随机的抽取k个元素 其中N无法确定 这种应用的场景一般是数据流的情况下 由于数据只能被读取一次 而且数据量很大 并不能全部保存 因此数据量N是无法在抽样开始时确定的 但
  • 使用webpack5搭建vue3项目过程记录(详细注解)

    在开始搭建之前 首先理清楚webpack的五大核心概念 1 entry 入口 指示 Webpack 从哪个文件开始打包 2 output 输出 指示 Webpack 打包完的文件输出到哪里去 如何命名等 3 loader 加载器 webpa
  • TypeError: not all arguments converted during string formatting问题解决

    python中TypeError not all arguments converted during string formatting解决方法 例如 gt gt gt str 1 2 3 创建一个集合 gt gt gt str 1 2
  • 4.4 服务器上的 Git - 配置服务器

    4 4 服务器上的 Git 配置服务器 版本说明 版本 作者 日期 备注 0 1 loon 2019 3 25 初稿 目录 文章目录 4 4 服务器上的 Git 配置服务器 版本说明 目录 配置服务器 配置服务器 我们来看看如何配置服务器端
  • axios设置请求头无效,采用axios请求拦截实现

    axios 的运用 目录 axios 的运用 axios 请求头设置相关问题 axios 设置请求头的几种方式 以 token 为例 1 全局修改源码配置项 2 在单个请求中设置 3 在新建的实例中设置 4 在 axios 提供的请求拦截器