E JS Express Nodejs Многостраничная регистрационная форма - лучший способ сохранить JSON на 2 страницах - PullRequest
0 голосов
/ 18 июня 2020

У меня есть 2-страничная страница регистрации в Express E JS:

/ signup1 - username password / signup2 - firstname lastname

, и у них обоих есть отдельные поля формы с сообщением кнопки для создания зарегистрированного пользователя на моем сайте.

app.post("/signup1", function(req, res) {

  const signupDetail1 = {
    username: req.body.username,
    password: req.body.password
};
res.render("signup2");
app.post("/signup2", function(req, res) {
const signupDetail2 = {
    firstName: req.body.firstName,
    lastName: req.body.lastName

//mongoose create registered user here with username password (from first page) and firstname //last name from second page

});

Каков наилучший или самый простой способ передать переменные запроса с первой страницы входа на вторую страницу входа для публикации?

Заранее благодарим за помощь!

1 Ответ

1 голос
/ 19 июня 2020

Привет @dthanny и добро пожаловать в stackoverflow :)

В этом случае я бы не стал пытаться передать детали со страницы 1 на страницу 2, вместо этого я бы посоветовал вам сохранить их на сервере сторона после каждого шага. Я предлагаю это по нескольким причинам:

  1. Для того, чтобы информация была отправлена ​​вместе со вторым запросом, веб-интерфейс должен как-то удерживать данные. В одностраничных приложениях (использующих vue, response, angular, et c) довольно распространено создание многоступенчатых форм и отправка только одного запроса после сбора всей информации. В вашем случае вы используете рендеринг на стороне сервера, что означает, что вам понадобится интерфейс для хранения информации каким-то образом, это может стать довольно беспорядочным, и если вы все же решите это сделать, вы можете обнаружить, что открываете некоторую проверку fl aws .
  2. Предположительно, если пользователь вводит данные, которые противоречат проверке на этапе 1, вы захотите попросить их повторно ввести их, прежде чем переходить на этап 2. Поскольку вы проверили данные, значит, нет причина не хранить их немедленно. request.

Похоже, что будет намного проще просто сохранять информацию после каждого шага для вас и значительно уменьшит объем кода, который вам нужно написать.

Если по какой-то причине вы не можете сделать это , я бы предложил использовать какой-нибудь интерфейс javascript для сбора всей информации перед ее отправкой, а не u спой на стороне сервера, чтобы двигаться по ступенькам. Если вы используете этот подход, то данные никогда не попадут на ваш сервер (хороший подход, если это конфиденциальная информация).

...