Express req.body在表单提交中为空

har*_*dry 2 javascript node.js express

我有以下表单并提交结果为空req.body这是我的HTML:

<form action="/contact" name="contactUs" id="contactUs" method="POST">
   <label for="email">Email Message</label>
   <input type="text" name="email" id="email">
  <input type="submit" value='Save'>
</form>
Run Code Online (Sandbox Code Playgroud)

这是我的(部分)server.js:

 app.use(bodyParser.json());
 app.use("/", expressStaticGzip("dist"));

app.post("/contact", (req, res) => {
  console.log('anyone there?')
  res.json(req.body);
});
Run Code Online (Sandbox Code Playgroud)

console.log工程的罚款.我得到一个空的对象req.body.

Cha*_*ito 6

您提交的HTML POST表示您正在使用Content-Type: application/x-www-form-urlencoded.

这意味着您需要添加app.use(express.urlencoded({ extended: false })) ,这种方式可以解析该请求并将其放入req.body