сделать простой ответ в app.js при отправке HTML-формы - PullRequest
0 голосов
/ 06 ноября 2019

Заранее всем спасибо! Действительно> <</p>

В DIV есть форма для составления электронного письма. Пользователи вводят получателя, название и содержание и нажимают кнопку «Отправить». Форма может быть отправлена.

в формате html:

<form id='formid' name='compose1' action='/composemail' method='post'>
    New Message
    <p>To: <input type='textbox' name='recipient'></p>
    <p>Subject: <input type='textbox' name='title'></p>
    <p><input type='textarea' name='content' class='textarea'></p>
    <input type='hidden' id='formTime' name='time' value='20:00:01 Wed Nov 06 2019'>
    <input type='submit' id="formSubmit" value='Send'>
</form>

После нажатия кнопки отправить данные будут вставлены в базу данных Монго. Данные могут быть успешно добавлены. в app.js:

app.post('/composemail', express.urlencoded({extended:true}), function(req,res) {
    var db = req.db;
    var collection = db.get('emailList');
    var sender = "abc@mail.com";
    var recipient = req.body.recipient;
    var title = req.body.title;
    var time = req.body.time;
    var content = req.body.content;
    var mailbox = "Sent";
    var newmail = {'sender':sender,'recipient':recipient,'title':title,'time':time,'content':content,'mailbox':mailbox};
    collection.insert(newmail, function(err,result) {
        if (err === null) {
            console.log("Successfully added!");
            res.json({success: true}); // <-problem here
        } else res.send(err);
    })
})

, в другом файле вызывается script.js, есть вызов функции show

function show() {
    //basically a XMLHttpRequest to receive the email list from the database
}

Проблема заключается в ответе после вставки данных. Я хочу, чтобы он оставался на той же странице и запускал функцию show () в script.js после отправки формы.

Я ищу в Интернете и нахожу это полезным: res.json ({success:правда});но я хочу избежать использования ajax, поскольку это действительно сложно ... могу ли я реализовать, если успех верен, затем запустить функцию show () в простой форме в html? я попробовал:

<form id='formid' name='compose1' action='/composemail' method='post' success='show(variable)'>

кажется, что он не работает ... или если мне действительно нужно использовать ajax, как я могу это сделать? я действительно понятия не имею об этом ...

Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...