如何解决 Axios POST 请求返回 404 错误的问题

胖枫君_5965

胖枫君_5965

2026-05-20

462人浏览

原创

如何解决 Axios POST 请求返回 404 错误的问题

本文详解 react 前端使用 axios 向 express 后端发送 post 请求时出现 404 的常见原因,包括服务端路由未正确注册、语法错误、中间件缺失及响应处理不当,并提供完整可运行的修复方案。

本文详解 react 前端使用 axios 向 express 后端发送 post 请求时出现 404 的常见原因,包括服务端路由未正确注册、语法错误、中间件缺失及响应处理不当,并提供完整可运行的修复方案。

404 错误表明客户端成功发出了请求,但 Express 服务器根本未识别该路由路径(/uploadData),即请求未被任何路由处理器捕获。这通常不是网络连通性问题,而是服务端配置缺陷所致。以下从客户端与服务端两方面系统排查并修复:

✅ 客户端修复:完善 Axios 请求处理

原始代码中仅使用 .catch(console.log),既未处理成功响应,也掩盖了具体错误细节。应显式处理 then 与 catch,并确保表单字段绑定正确(注意:title 输入框缺少 onChange 事件,导致 state.title 始终为空):

const handleSubmit = async (e) => {
  e.preventDefault();
  const data = { title: state.title, desc: state.desc };

  try {
    const response = await axios.post("http://localhost:5000/uploadData", data);
    console.log("✅ 成功提交:", response.data);
    alert("上传成功!");
  } catch (error) {
    console.error("❌ 请求失败:", error.response?.data || error.message);
    alert(`提交失败:${error.response?.data?.error || "未知错误"}`);
  }
};

同时,务必为 title 输入框补全 onChange 事件,否则用户输入无法同步到状态:

axios从入门到源码分析-课件
axios从入门到源码分析-课件

axios从入门到源码分析课件

下载

✅ 服务端修复:修正语法、路由注册与响应格式

原始 Express 代码存在多个致命问题:

  • ❌ onst app = express(); 是明显拼写错误(应为 const);
  • ❌ 使用 router.post() 但未通过 app.use(router) 挂载路由,导致 /uploadData 路由完全不可达;
  • ❌ 缺少关键中间件(如 express.json() 和 express.urlencoded()),无法解析请求体;
  • ❌ res.send() 不符合 REST 规范,应统一使用 res.status().json() 显式声明状态码与 JSON 格式。

修复后的完整服务端代码如下:

const express = require("express");
const cors = require("cors");

const app = express(); // ✅ 修正拼写:const(非 onst)
const port = 5000;

// ✅ 必备中间件:解析 JSON 和 URL 编码数据
app.use(cors());
app.use(express.json()); // 替代已废弃的 bodyParser.json()
app.use(express.urlencoded({ extended: true })); // 替代 bodyParser.urlencoded()

// ✅ 直接使用 app.post()(无需 router),确保路由生效
app.post("/uploadData", async (req, res) => {
  try {
    // 假设 Videos 是已定义的 Mongoose 模型
    const newVideo = await Videos.create({
      title: req.body.title,
      desc: req.body.desc,
    });
    res.status(201).json({ success: true, data: newVideo }); // ✅ 201 表示资源创建成功
  } catch (err) {
    console.error("数据库错误:", err);
    res.status(400).json({ success: false, error: err.message });
  }
});

app.listen(port, () => {
  console.log(`✅ 服务已启动:http://localhost:${port}`);
});

⚠️ 其他关键注意事项

  • 跨域问题:若前端不在 http://localhost:3000 运行,或后端未启用 cors(),将触发预检失败(CORS Error),而非 404。确保 app.use(cors()) 在所有路由前注册。
  • 端口确认:用 curl -v http://localhost:5000/uploadData 或 Postman 测试接口是否可达,排除服务未启动或端口占用问题。
  • 环境一致性:确保前后端均运行在开发模式(如 npm start + npm run dev),且无代理配置冲突。

通过以上修复,404 错误将彻底消除,Axios 请求可稳定接收服务端 JSON 响应。核心原则是:服务端必须显式声明并挂载路由,客户端需正确构造请求并处理全流程异常。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

axios

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
ajax教程
ajax教程

php中文网为大家带来ajax教程合集,Ajax是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。php中文网还为大家带来ajax的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

2023.06.14

2540

4

ajax中文乱码解决方法
ajax中文乱码解决方法

ajax中文乱码解决方法有设置请求头部的字符编码、在服务器端设置响应头部的字符编码和使用encodeURIComponent对中文进行编码。本专题为大家提供ajax中文乱码相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

340

5

ajax传递中文乱码怎么办
ajax传递中文乱码怎么办

ajax传递中文乱码的解决办法:1、设置统一的编码方式;2、服务器端编码;3、客户端解码;4、设置HTTP响应头;5、使用JSON格式。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.15

2373

5

ajax网站有哪些
ajax网站有哪些

使用ajax的网站有谷歌、维基百科、脸书、纽约时报、亚马逊、stackoverflow、twitter、hacker news、shopify和basecamp等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.09.24

1141

6

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

60

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

40

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

40

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

40

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

40

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
vue-cli4商城项目案例
vue-cli4商城项目案例

共12课时 | 3.9万人学习

vue+tp分离开发实时疫情动态地图
vue+tp分离开发实时疫情动态地图

共4课时 | 1.1万人学习

axios从入门到源码分析
axios从入门到源码分析

共21课时 | 2.7万人学习