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

Django+React项目配置corsheaders后仍出现CORS/Axios连接错误

问题根因

你的corsheaders配置逻辑完全正确,报错和跨域配置无关,核心问题有两个:

  • 前端请求协议配置错误:React代码中baseUrl写的是https://127.0.0.1:8000/api,但本地默认启动的Django开发服务是HTTP协议,没有配置SSL证书,无法响应HTTPS请求,直接触发ERR_CONNECTION_REFUSED。火狐浏览器提示的CORS错误是连接失败后的连带误判——请求根本没到Django服务,自然拿不到CORS响应头,浏览器就会归因为CORS请求失败。
  • 未确认Django服务的运行状态:如果Django服务没启动、或者启动时绑定了其他端口/地址,也会触发连接拒绝。
修复步骤
  1. 修正前端请求地址
    把React代码里的请求协议从HTTPS改为HTTP,和本地Django服务协议保持一致:
// 原错误配置
// const baseUrl='https://127.0.0.1:8000/api';
// 修正后
const baseUrl='http://127.0.0.1:8000/api';
  1. 确认Django服务正常启动
    进入Django项目根目录,执行启动命令,明确绑定127.0.0.1的8000端口:
python manage.py runserver 127.0.0.1:8000

启动成功后终端会输出Starting development server at http://127.0.0.1:8000/的提示,此时先直接在浏览器访问http://127.0.0.1:8000/api/teacher/,确认接口能正常返回响应,再测试前端请求。
3. 异常兜底排查
如果完成前两步仍然报错,依次检查:

  • 8000端口是否被其他程序占用,若被占用可以更换端口启动Django,同步修改前端baseUrl里的端口号即可
  • 本地是否开了网络代理、防火墙拦截了本地8000端口的请求,临时关闭代理/防火墙再测试

内容的提问来源于stack exchange,提问作者Imani Njoki Kamau

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 01:18:16