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

MEAN栈新手遇TypeError:读取undefined的'title'属性,请求体传递存疑

MEAN栈POST请求req.body未定义问题解决

错误根源

你碰到的TypeError: Cannot read properties of undefined (reading 'title'),本质是Express框架默认不会自动解析HTTP请求体,导致req.body为undefined,自然读不到title属性。换成固定字符串后不需要依赖请求体,所以接口能正常运行。

解决方法

在你的index.js里添加请求体解析中间件,步骤如下:

  1. 引入Express后,添加两行代码:
app.use(express.json()); // 解析JSON格式的请求体
// 若需要处理表单提交的urlencoded格式,再加上下面一行
app.use(express.urlencoded({ extended: true }));
  1. 必须保证这两行代码在挂载路由之前执行(比如放在app.use('/api/todos', todoRoutes)之前),这样路由才能拿到解析后的请求体数据。

原理说明

  • express.json():专门处理Content-Type为application/json的请求,把请求里的JSON字符串转成JS对象,挂载到req.body上。
  • express.urlencoded({ extended: true }):处理表单提交的application/x-www-form-urlencoded格式请求,extended: true支持解析嵌套结构的表单数据。

额外检查项

  • 前端发送请求时,要确保请求头的Content-Type设置为application/json(如果传的是JSON数据)。
  • 确认前端发送的请求体里确实包含title和content字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 13:56:40