node.js: Могу ли я сделать POST под маршрутизатором, как показано ниже? - PullRequest
0 голосов
/ 16 ноября 2018
var express = require('express');
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
res.render('index', { title: 'Express' });

});
router.post('/', function(req, res, next){
res.send("post works");
});

module.exports = router;

Это мой файл index.js. Я использовал Express, чтобы создать приложение, добавить свой собственный Jade-файл, в котором есть форма. Могу ли я определить такой метод сообщения? Я новичок в node.js, так что не понимаю, как это работает?

Я хотел бы добавить, что я пытаюсь сохранить данные в экземпляре mongodb.

Обновление: 26/11/18

Я получил решение после того, как получил ответы, приведенные ниже, Я добавляю ссылку GitHub .

Я добавил к нему рабочие файлы.

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

После поиска в Интернете разъяснений в конце оба ответа помогли мне.Я пытался сделать запрос POST от моего маршрута, у меня была переменная «маршрутизатор».То, что я упустил, было добавить имя функции к нему.Моя html-форма пыталась передать функцию "/ login", и мой маршрутизатор не определил эту функцию.

router.post('/login', function(req,res, next){
}

Это было сделано.Спасибо всем, кто пытался помочь.

0 голосов
/ 17 ноября 2018

Ниже приведен пример html-формы входа в систему, чтобы сделать почтовый маршрут работающим, убедитесь, что вы определили method = "POST" и action = "/ (Insert Route)". В моем примере action = "/ login" это означает, что будет отправка запроса на отправку / login. Если бы у меня была настройка маршрутизатора, которая принимала все запросы / вход в систему, он был бы перенаправлен туда, и работал бы router.post ('/').

<form action="/login" method="POST">
    <p">Username</p>
    <input type="text" name="username" placeholder="Enter Username">
    <p>Password</p>
    <input type="password" name="password" placeholder="Enter Password">
    <input type="submit" name="" value="Login">
</form>
...