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

React向Node后端传值报错Cannot read property 'n' of undefined如何解决

问题核心原因

你的报错本质是Express 未解析前端传入的JSON请求体,导致req.body为undefined,读取req.body.n自然触发类型错误,和React端的请求发送逻辑无关。
Express从v4.16.0版本开始,内置了请求体解析功能,但需要手动注册对应中间件才会生效,你的代码里缺少这一步配置。
另外还有一个优化点:后端接口处理完请求后需要返回响应,否则前端axios请求会一直处于 pending 状态直到超时。

修复方案

你只需要修改Node端的代码,新增两行中间件注册逻辑,同时给接口补充返回值即可:

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

const PORT = process.env.PORT || 3001;
const app = express();

// 新增以下两行,配置请求体解析
// 解析application/json格式的请求体
app.use(express.json())
// 可选:解析application/x-www-form-urlencoded格式的请求体,适配其他请求场景
app.use(express.urlencoded({ extended: true }))

app.use(cors())

app.post('/api', function(req, res) {
  var nume = req.body.n;
  console.log("Salut " + nume);
  // 新增返回响应
  res.json({ success: true, receivedName: nume })
});

app.listen(PORT, () => {
  console.log(`Server listening on ${PORT}`);
});

修改完成后重启Node服务即可正常接收React端传入的参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:30:03