Node.js (Экспресс) данные формы POST на следующем экране - PullRequest
0 голосов
/ 27 апреля 2019

Мой текущий поток данных выглядит следующим образом:

Page1 - Пользователь вводит данные, используя <form>, и нажимает ' Просмотр '.

Страница2 - Пользователь может просмотретьданные, собранные с предыдущего экрана и нажимают « Отправить ».Собранные данные теперь отправляются на сервер через POST-запрос к конечной точке.

Моя текущая экспресс-логика:

На странице 1 я использую <form method="POST" action="/review"> ина submit, передавая данные формы для экспресс-маршрута.Как показано ниже:

app.post('/review', function(req, res){
  req.session.name = req.body.name;
  res.render('review.njk', { name: req.body.name });
});

и на странице 2 я использую другой <form method="POST" action="/send"> и submit этой формы, я беру данные из сеанса и вызываю запрос POST.

app.post('/send', function(req, res){
  // POST using req.session.name as request data
});

Моя проблема:

  • У меня много полей в одной форме и много страниц с формами, и я не хочу иметь сеанснакладные расходы на управление (удаление данных из сеанса при каждом успешном вызове и т. д.).
  • Кроме того, использование вторых форм для этой цели кажется мне необычным.Цель второй «фальшивой» формы - передать данные только второму маршруту.В качестве альтернативы, вы можете иметь 10 скрытых форм ввода, имеющих значения собранных данных, а также 10 элементов для отображения данных обзора, а затем на submit отправить их в бэкэнд.В обоих случаях это кажется нечистым, на мой взгляд.

Итак, мои вопросы - Использование Express (и не AJAX), есть ли лучший способ сделать это (собрать данные формы изПервая страница, покажите ее на следующей странице и затем отправьте данные)?

Любая помощь очень ценится.Заранее спасибо!

...