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

Express框架app.post()获取req.body为空,尝试所有方案仍无法解决求帮助

问题原因

你提交表单内的表单控件name属性语法错误,所有输入框、文本域的属性分隔符错误使用了冒号:,HTML属性赋值需要用等号=。浏览器提交表单时会根据name属性识别提交字段,语法错误导致字段没有被正常识别提交,所以服务端拿到的req.body为空。

修复方案

将EJS表单代码里所有name:"xxx"全部修改为name="xxx"即可,修正后的完整表单代码如下:

<div class="create-blog content">
    <form action="/blogs" method="POST">
        <label for="title">Blog title</label>
        <input type="text" id="title" name="title" required>
        <label for="snippet">Blog Snippet</label>
        <input type="text" id="snippet" name="snippet" required>
        <label for="body">Blog Body</label>
        <textarea id="body" required name="body"></textarea>
        <button>Submit</button>
    </form>
</div>

补充说明

你服务端已经正确配置了express.urlencoded({extended : true})中间件,表单提交的application/x-www-form-urlencoded类型的请求可以被正常解析,修正表单语法后即可正常获取req.body内的提交字段。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:57:00