首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >axios不将默认的内容类型标头重写为

axios不将默认的内容类型标头重写为
EN

Stack Overflow用户
提问于 2021-04-25 18:15:09
回答 1查看 1.6K关注 0票数 0

在我的CRA项目中,我设置了axios的默认值(在根index.js文件中)

代码语言:javascript
运行
复制
axios.defaults.headers = {
    "Content-type": "application/json",
    "Accept": "application/hal+json"
};

现在,在项目的某个地方,我想发送Content-type : application/x-www-form-urlencoded请求,但是axios仍然在发出application/json请求。

代码语言:javascript
运行
复制
const data = new URLSearchParams()
data.append('existingPassword', existingPassword)
data.append('newPassword', newPassword)

axios.post("http://localhost:8085/api/password-reset", data, {headers: {'Content-Type': 'application/x-www-form-urlencoded'}})

如果我注释掉缺省值,这个请求就能正常工作。另外,如果使用Content-type : multipart/form-data,那么也会默认get覆盖。

axios版0.20.0

react版本16.13.1

这里有什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-25 18:50:46

由于默认的内容类型标头使用键Content-type,而axios调用传递给键Content-Type,因此头文件不会合并。将默认的内容类型标头键重命名为'Content-Type'

代码语言:javascript
运行
复制
axios.defaults.headers = {
  'Content-Type': 'application/json',
  // ...
}

也是如此,如果使用Content-type : multipart/form-data,那么也会默认get覆盖。

它起作用了,因为您使用的是Content-type,它与默认标头中使用的键相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67256771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档