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请求拦截实现 的相关文章

  • 知道axios中是否有待处理的请求

    我是 ReactJS 的新手 对于我的 ajax 调用 我尝试使用Axios https github com mzabriskie axios图书馆 太棒了 但现在我想知道是否有办法知道 axios 拦截器中是否有待处理的请求 因为我想显
  • axios 拦截器内的 useContext

    我不明白为什么我的 useContext 没有在这个函数中被调用 import useContext from react import MyContext from contexts MyContext js import axios f
  • Vue - API 调用属于 Vuex 吗?

    我正在努力寻找在 vue 模块中理想的 API 调用位置的答案 我不是在构建 SPA 例如 我的 auth 块有几个用于登录 密码重置 帐户验证等的组件 每个块都使用 axios 进行 API 调用 Axios 已经提供了异步的 Promi
  • Axios 使用 JSONPlaceholder 返回乱码

    我正在尝试学习使用 Axios 获取 API 数据 最终与 HubSpot API 一起使用 我已经建立了一个小型测试项目 尝试使用 fetch 和 Axios 从 JSONPlaceholder 和 RapidAPI FamousQuot
  • 从vue中的api加载路由

    我正在尝试从我的 API 在 Vue 应用程序中加载路由 我尝试将数据推送到路由变量并使用 addRoutes 方法 但没有运气 我认为异步可能存在问题 但为什么 addRoutes 不起作用 这是我的代码 import Vue from
  • Angular 模板调用函数可以返回 Promise

    Angular 的 q 文档 http docs angularjs org api ng 24q说 q 承诺被模板引擎以角度方式识别 这意味着在模板中 您可以将附加到范围的承诺视为结果值 Angular 的视图模板还允许您计算表达式 这意
  • 我们可以使用 axios 的 onDownloadProgress 来加载 API 吗?

    我需要使用 axios 创建一个用于在 React 项目中加载 API 的进度条 我为此发现了 onDownloadProgress 函数 但我不知道我们是否可以使用它来获取诸如加载百分比之类的信息 或者它是否仅用于文件下载 所以我不确定我
  • 为什么显示后无法清除错误消息-axios-react

    第一个问题的背景 https stackoverflow com questions 72929201 react axios showing message to user 72929320 我正在展示使用localhost 3000 u
  • 如何将 Content-Type 更改为 application/json React

    我正在使用 axios 从 api 获取内容 我想使用 axios 在 React 中将 Content Type 设置为 application json 需要纠正什么 下面是参考代码 const config headers Conte
  • 尝试在本地主机上测试我的 php 文件,但只出现一个空白页面,没有错误消息

    我正在运行 Apache 和 mySQL 因为我检查了所有日志 似乎没有任何错误 我的目标是每当有新的表单条目时就向特定地址发送电子邮件 我对后端和 PHP 缺乏经验 所以我不太确定哪里出了问题 任何帮助将不胜感激
  • axios 如何将 blob 与 arraybuffer 作为响应类型处理?

    我正在下载一个 zip 文件axios https www npmjs com package axios 为了进一步处理 我需要获取已下载的 原始 数据 据我所知 Javascript 有两种类型 Blob 和 Arraybuffers
  • Mongoose 对 Promise 拒绝处理

    我有点与 NodeJS 中的 Promise 模式作斗争 我正在数据库中查找用户 然后使用用户引用保存新实体 但是当用户不在数据库中时 我应该返回拒绝 但我不确定如何正确执行 有没有办法做得更好 顺便说一句 对不起 咖啡脚本 User fi
  • React Native HTTPS Api 调用在 IOS 中有效,但在 Android 中无效

    所以基本上我所做的就是简单地对启用了 HTTPS 的 UAT 服务器进行简单的 Axios 调用 我已经在 IOS 中测试了整个应用程序 API 调用工作正常 但一旦我在 Android 中测试了相同的应用程序 在真正的 Android 设
  • Javascript ES6 承诺支持“done”api 吗?

    例如 p new Promise function resolve reject throw err p done 在大多数 Promise Polyfill 库中 done 会抛出错误 并且当前执行将退出 但如果我们使用p then 什么
  • axios 请求中未发送正文数据

    我试图通过 axios 请求将数据发送到我的后端脚本 但正文看起来是空的 这是前端发送的请求 axios request method GET url http localhost 4444 next api headers Authori
  • Mongoose 和 Promise:如何获取查询结果数组?

    使用猫鼬从数据库和 Q 中查询结果以获取承诺 但发现很难只获取可用用户列表 目前我有一些这样的东西 var checkForPerson function person people mongoose model Person Person
  • 如何在 Node.js 中进行多个 API 调用并在每次调用之间有延迟

    我的目标是对数据列表进行多个 api 调用 假设我有以下代码 const axios require axios const axiosRequests const strings a b c for let str of strings
  • React onSubmit e.preventDefault() 有时不起作用 + Axios

    现在我在 React 中面临这个奇怪的问题 其中带有 e preventDefault 的 onSubmit 函数有时会避免刷新页面 有时则不会 我创建了两个挂钩来跟踪上传的文件及其进度条 const uploadedFiles setUp
  • axios onUploadProgress 和 onDownloadProgress 不适用于 CORS

    我有一个用 Node js 编写的服务器 以及一个在浏览器中运行的 Web 客户端 客户端应向服务器上传和下载一些文件 服务器并不是最初交付客户端的服务器 所以这里就出现了跨域的情况 服务器使用cors https www npmjs co
  • 在 Smalltalk/Pharo 中创建以块作为参数的键值消息

    我有一个场景 一个类拥有两个互斥的实例变量 即一次只能实例化一个 准确地说 我有一个 Promise 类 尝试将 Promise 添加到 Pharo 它包含 PromiseError 和 PromiseValue 实例变量 然后我想实现 t

随机推荐

  • 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 提供的请求拦截器