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

注册组件提交数据至MongoDB Atlas时触发Axios 404错误求助

解决注册提交时Axios 404错误(Cannot POST /api/user)

错误核心分析

从你提供的错误信息可以明确问题根源:

AxiosError {
  message: 'Request failed with status code 404',
  code: 'ERR_BAD_REQUEST',
  response: {
    data: '<!DOCTYPE html>\n<html lang="en">\n<head>\n<meta char…<pre>Cannot POST /api/user</pre>\n</body>\n</html>\n',
    status: 404
  }
}

响应里的Cannot POST /api/user直接说明前端请求的后端接口路径不存在,或者后端未配置对应的POST路由。

排查与解决步骤

  • 检查后端路由配置
    确认后端框架(比如Express)中是否正确定义了/api/user的POST路由:

    // Express示例
    app.post('/api/user', (req, res) => {
      // 处理注册逻辑,将数据保存至MongoDB Atlas
    });
    

    注意路径拼写、大小写要和前端请求完全一致,避免出现/api/users(多了s)这类低级错误。

  • 验证前端请求配置
    检查注册组件中Axios请求的URL和方法:

    // 正确示例
    axios.post('/api/user', userFormData)
      .then(res => console.log(res))
      .catch(err => console.error(err));
    
    • 确保请求方法是POST,而非GET或其他;
    • 如果后端服务运行在不同端口(比如后端在5000端口,前端在3000),需要填写完整URL:http://localhost:5000/api/user。
  • 测试后端接口可用性
    用Postman、curl或浏览器插件直接请求后端的/api/user接口,确认接口是否能正常响应。如果直接请求也返回404,说明问题出在后端路由或服务配置。

  • 跨域配置检查(前后端端口不同时)
    若前后端运行在不同端口,后端必须配置CORS允许前端域名的请求。以Express为例:

    const cors = require('cors');
    app.use(cors({ origin: 'http://localhost:3000' })); // 允许前端域名发起请求
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 08:45:25