axios设置请求头无效

简介: axios设置请求头无效

背景

axios设置post、put等方式的请求头是能正常设置的,但是axios不能直接设置get请求的请求头,需要做一些特殊的处理

axios.defaults.headers.common["Timezone"] =Timezone;
axios.defaults.headers.common["Lang"] =Lang;
axios.defaults.headers.common["Default-Lang"] =DefaultLang;
axios.defaults.headers.common["Content-Type"] ='application/json'; // Content-Type不管怎样,get请求都设置不上去

解决办法

axios内部做了个判断,如果是get请求。是不让你设置请求头的。而他的判断就是依据data是否存在,如果data存在则默认你是post请求。允许设置请求头。

解决办法如下:

axios.interceptors.request.use(config=> {
if (config.method==='get') {
//  给data赋值以绕过if判断config.data=true      }
config.headers['Content-Type'] ='application/text'returnconfig    }, err=>Promise.reject(err))

通过拦截器给这个请求添加data。然后再去设置请求头。即可成功

目录
相关文章
|
JavaScript
Node.js:axios自定义headers请求头
Node.js:axios自定义headers请求头
184 0
|
JSON JavaScript API
axios设置content-type
axios设置content-type
998 0
|
前端开发 API
axios定制化设置请求响应拦截器,统一处理请求响应
设置拦截器的目的在于:可以定制化,设置请求头,公共api,超时时间。统一处理响应,对于前端获取的数据更加清晰。
424 0
|
JSON JavaScript 数据格式
axios 设置请求头------vue
axios 设置请求头------vue
256 0
|
2月前
|
资源调度 JavaScript
|
4月前
|
JavaScript 前端开发
【Vue面试题二十五】、你了解axios的原理吗?有看过它的源码吗?
这篇文章主要讨论了axios的使用、原理以及源码分析。 文章中首先回顾了axios的基本用法,包括发送请求、请求拦截器和响应拦截器的使用,以及如何取消请求。接着,作者实现了一个简易版的axios,包括构造函数、请求方法、拦截器的实现等。最后,文章对axios的源码进行了分析,包括目录结构、核心文件axios.js的内容,以及axios实例化过程中的配置合并、拦截器的使用等。
【Vue面试题二十五】、你了解axios的原理吗?有看过它的源码吗?
|
2月前
|
缓存 JavaScript 搜索推荐
|
4月前
|
JavaScript 前端开发
【Vue面试题二十七】、你了解axios的原理吗?有看过它的源码吗?
文章讨论了Vue项目目录结构的设计原则和实践,强调了项目结构清晰的重要性,提出了包括语义一致性、单一入口/出口、就近原则、公共文件的绝对路径引用等原则,并展示了单页面和多页面Vue项目的目录结构示例。
|
3月前
|
JavaScript 前端开发 开发者
vue中使用axios请求post接口,请求会发送两次
vue中使用axios请求post接口,请求会发送两次
|
2月前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
160 4