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

Django-React应用配置CORS_ALLOWED_ORIGINS后仍出现跨域错误求助

解决Django-React跨域配置后仍报错的问题

可能的原因及修复步骤

1. 重启Django服务

修改settings.py中的CORS配置后,必须重启Django开发服务器,否则新配置不会生效。执行命令:

python manage.py runserver

2. 统一前后端访问地址的IP/域名

浏览器会将localhost和127.0.0.1视为不同的源。当前前端用http://localhost:3000,后端请求地址是http://127.0.0.1:8000,可以二选一统一:

  • 方案一:后端启动时绑定localhost
    python manage.py runserver localhost:8000
    
    前端请求地址改为http://localhost:8000/api/wells
  • 方案二:在CORS配置中补充前端可能的源
    CORS_ALLOWED_ORIGINS = [
        'http://localhost:3000',
        'http://127.0.0.1:3000'  # 若前端也可能用该地址访问,一并添加
    ]
    

3. 确认中间件顺序无问题

你的MIDDLEWARE配置中corsheaders.middleware.CorsMiddleware的位置是正确的(需在CommonMiddleware之前),如果有自定义中间件,确保不会在它之后修改或移除响应头。

4. 排查是否有其他配置覆盖CORS头

  • 检查SecurityMiddleware相关配置,确保没有设置会干扰CORS响应头的参数。
  • 若使用Django REST Framework,确认视图或全局配置中没有自定义响应拦截器,导致Access-Control-Allow-Origin头被移除。

5. 调试临时方案:允许所有源(仅用于测试)

如果上述方法无效,可以临时设置允许所有源验证是否为配置问题:

CORS_ALLOW_ALL_ORIGINS = True

注意:生产环境禁止使用该配置,调试完成后需改回指定源。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:52:41