Экспресс req.body пуст в представлении формы

1

У меня есть следующая форма и представление результатов в пустой 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>

И это (часть) моего server.js:

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

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

console.log работает отлично. Однако я получаю пустой объект для req.body.

  • 0
    Ваши входные теги не закрыты /> .
  • 1
    @chsdk - Они не предлагают в вопросе, что они используют XHTML, поэтому элементы закрыты.
Показать ещё 2 комментария
Теги:
express

1 ответ

5
Лучший ответ

Вы отправляете HTML POST, что означает, что вы используете Content-Type: application/x-www-form-urlencoded.

Это означает, что вам нужно добавить app.use(express.urlencoded({ extended: false })) Таким образом, express может проанализировать этот запрос и поместить его в req.body

  • 0
    спасибо Брюс. очень признателен

Ещё вопросы

Сообщество Overcoder
Наверх
Меню