Как сделать ключ-значение и перенаправить? - PullRequest
0 голосов
/ 25 сентября 2018

Дано:

    router.get('/register', function(req, res, next) {
        var message = "";
        res.render('register', { title: 'Register', userMessage: message});

    });

    router.post('/registration/submit', function(req, res, next) {
            // ##### Some unintersting code is here ########## (....) -->
            var message = "";
            MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {

            const db = client.db(dbName);
            db.collection('userdata').findOne({ email: mailAddress }, (error, result) => {
                if (!error) {
                    if (result) {
                        console.log("Item exists");
                        message = 'User already exists!';
                    } else {
                        db.collection('userdata').insertOne(item, (err, result) => {
                            assert.equal(null, err);
                            console.log("Item inserted:");
                            message = "User inserted! <br>You entered: " + item.email + " as your emailaddress.";
                            console.log(item);
                            client.close();
                        }); 
                    }
               } else {
                    message = "Unexected error with DB";
                    console.log("MongoDB error");
               }
            });

        });
        res.redirect('/register', {userMessage: message} );
    });

register.html:

<form action="/registration/submit" method="post" style="margin:20px">

    {{#if userMessage}}
        {{message}}
    {{/if}}


    <!-- ... SOME UNINTERESTING CODE (input-fields) -->
    <button class="btn btn-primary" id="regBut" type="submit">Register</button>
</form>

После нажатия кнопки отправки выполняется проверка, если элемент уже существует.После этого там должно появиться message.Таким образом, консоль выдает некоторые ошибки:

express deprecated res.redirect (url, status): используйте res.redirect (status, url) вместо rout \ index.js: 149: 7 POST / registration / submit'throw new Error (' Не могу установить заголовки после их отправки. ');Ошибка: невозможно установить заголовки после их отправки. '

Используются рули двигателя шаблона.Как отобразить и перенаправить как res.redirect('/register', {userMessage: message} );, чтобы показать сообщение от <form action='/registration/submit'>?

...