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

axios.post请求localhost:5173/auth/register返回404问题求助

排查注册请求404问题的步骤

1. 解决端口冲突问题

你的前端开发服务器运行在localhost:5173,同时MySQL也占用了5173端口——更关键的是后端API服务绝对不能和前端使用同一个端口。如果后端服务也配置了5173端口,会直接导致端口占用,proxy转发请求时无法找到后端服务。

  • 将后端服务端口改为其他值(比如3000、4000),确保和前端的5173端口不重复。

2. 修正Proxy配置

package.json里的proxy字段应该指向后端API服务的地址,而非前端自身端口。假设后端服务现在运行在localhost:3000,proxy配置应修改为:

"proxy": "http://localhost:3000"

如果后端路由统一挂载在/api前缀下,前端请求路径需调整为/api/auth/register,或让后端将auth路由挂载到/api路径下。

3. 检查前端请求路径与后端路由匹配

前端代码中若请求URL为/auth/register,结合正确的proxy配置(指向后端端口),实际会转发到http://localhost:[后端端口]/auth/register。需确认:

  • 后端auth.js路由文件中是否正确定义了POST /auth/register的路由?
  • 后端主入口文件(如index.js)是否已将auth路由挂载到正确路径?

4. 直接验证后端服务状态

  • 用浏览器或Postman直接访问后端注册接口(如http://localhost:3000/auth/register),若仍返回404,说明问题出在后端路由配置,与proxy无关。
  • 确认后端服务器已正常启动,无报错信息。

5. 核对路由挂载逻辑(以Express为例)

后端auth.js路由配置需符合以下逻辑:

const express = require('express');
const router = express.Router();
const authController = require('./auth.controller');

router.post('/register', authController.register); // 此路径对应/auth/register,因为router会被挂载到/auth

module.exports = router;

主入口文件需正确挂载路由:

const authRoutes = require('./auth');
app.use('/auth', authRoutes);

若后端路由挂载在/api/auth下,前端请求需改为/api/auth/register,同时proxy配置指向后端端口即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 15:04:52