You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django API对接React遇CORS请求头错误,寻求技术支持

解决CORS报错:Request header field content-tye is not allowed

错误原因分析

看报错信息里的content-tye——这是请求头名称拼写错误,正确的请求头应该是Content-Type。浏览器在发送跨域预请求(OPTIONS)时,发现前端提交了一个不在后端允许列表里的请求头(这个拼写错误的content-tye),所以触发CORS拦截。

你的Django后端配置其实已经正确添加了Content-Type到CORS_ALLOW_HEADERS里,问题出在前端请求的代码上。

解决步骤

  1. 定位React项目中的注册请求代码
    找到你调用注册API的代码(比如用fetch、axios或者其他HTTP库的地方)。
  2. 检查请求头拼写
    找到设置请求头(headers)的部分,把拼写错误的content-tye修正为Content-Type。
    示例(axios):
axios.post('https://productive-you-api-d9afbaf8a80b.herokuapp.com/dj-rest-auth/registration/', userData, {
  headers: {
    'Content-Type': 'application/json' // 确认这里的拼写正确
  }
})
  1. 测试验证
    修改后重新触发注册操作,确认控制台的CORS报错消失,API请求能正常发送。

额外检查(可选)

如果前端拼写确认无误,但报错依然存在,可以检查:

  • 后端环境变量CLIENT_ORIGIN是否覆盖了CORS_ALLOWED_ORIGINS,导致你的React域名不在允许列表里(不过你的报错里明确是请求头的问题,所以这个可能性较低)。
  • 确认default_headers没有移除Content-Type,但你的配置里是list(default_headers) + ['Content-Type'],所以这部分没问题。

内容的提问来源于stack exchange,提问作者user23331179

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 21:34:59