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

React+Node/Express注册存储用户数据时遭遇404错误求助

排查404 Not Found问题的方案

我之前在使用create-react-app代理+Express后端时也碰到过一模一样的404问题,给你整理几个按优先级排序的排查步骤:

1. 检查后端路由的挂载路径

你的后端路由代码是router.post('/register', ...),但这个路由是否被正确挂载到了/api/users路径下?比如在你的Express主文件(通常是app.js或server.js)里,必须有类似这样的代码:

const userRouter = require('./routes/users'); // 替换成你实际的路由文件路径
app.use('/api/users', userRouter);

如果没有这行配置,你的后端实际接口路径会是http://localhost:5000/register,而非预期的/api/users/register,这会直接导致代理转发后找不到接口。

2. 修正前端axios请求的路径

你当前的请求路径是./api/users/register,这里相对路径开头的点是错误的,应该改成绝对路径:

axios.post('/api/users/register', newUser)

相对路径会根据当前页面的URL进行拼接(比如如果页面在/login路径下,请求会变成/login/api/users/register),而开头带/的绝对路径才会正确触发create-react-app的代理规则。

3. 确认代理配置已生效

修改package.json里的proxy字段后,必须重启前端开发服务器(停止当前的npm start,重新运行),新的代理配置才会生效。很多人会忽略这一步,导致代理始终没起作用。

4. 直接测试后端接口是否可用

先用Postman或者curl直接访问后端接口,验证后端本身是否正常响应:

curl -X POST http://localhost:5000/api/users/register -H "Content-Type: application/json" -d '{"name":"test","password":"123","zip":"12345"}'

如果这个请求也返回404,说明问题出在后端路由配置,和前端代理无关;如果这个请求能正常返回数据,那问题肯定在前端的请求路径或代理配置上。

5. 临时排查CORS相关问题

虽然create-react-app的代理会自动处理CORS,但有时候后端的某些配置可能干扰,可以尝试在Express主文件里添加CORS中间件测试:

const cors = require('cors');
app.use(cors());

先安装cors包:npm install cors,然后重启后端服务器再试。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:04:20