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

NodeJS接收FormData请求可获取req.body但无法访问对应字段

问题根源

你前端构造FormData时,append方法的第一个参数(键名)末尾多打了多余空格:

  • formData.append("title ", values.title) 这里实际存储的键是title (末尾带空格),不是title
  • formData.append("message ", values.message) 这里实际存储的键是message (末尾带空格),不是message
  • 同理selected 、scheduledDate 、users 几个键都存在末尾多余空格的问题

你调试时看到的payload里的键实际是带空格的,你访问payload.message自然返回undefined,只有写payload['message ']才能读到值。Postman发送请求正常,是因为你在Postman里填写的键名没有带多余空格,和服务端取值的键名完全匹配。

解决方案

把所有FormData键名末尾的空格删掉即可,修正后的代码如下:

const formData = new FormData();
formData.append("title", values.title);
formData.append("message", values.message);
if (values.image) {
    formData.append("image", values.image, values.image.name);
}
if (values.selected && values.selected.length > 0) {
    formData.append("selected", values.selected);
}
if (newDate) {
    formData.append("scheduledDate", newDate);
}
if (users && users.length > 0) {
    formData.append("users", users);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 11:06:03