Какой атрибут действия я должен установить для формы HTML, если маршрут POST использует RegEx? - PullRequest
0 голосов
/ 19 декабря 2018

Итак, я пытаюсь создать маршрут публикации с помощью RegEx, но я не знаю, что мне следует настроить для действия в форме HTML, чтобы они соответствовали.

Я пытался установить его как POSTмаршрут, хотя я знал, что это не сработает ... Я должен был попробовать.

router.get('/judet/:id([0-9]{2})', middleware.access2, function(req, res)
{
      var title = "Dashboard";
      res.render("dashboard", {title: title});
});
router.post('/judet/:id([0-9]{2})/new', middleware.access2, function(req, res)
{
      X.create({
        fname: req.body.fname,
        lname: req.body.lname,
      }, function(err) {
          if(err)
          {
              return console.log(err);
          }
          else
          {
              res.redirect("back");
          }
      });
}); ///post route
<form action="/judet/:id([0-9]{2})/new" method="POST">
    //form content
</form>

Что я должен установить для атрибута действия, чтобы он соответствовал почтовому маршруту?Спасибо.

/// edit: Если я передам идентификатор в маршруте получения, как этот res.render("dashboard", {title: title, id:req.params.id});, как я могу использовать это в ejs?Я думал об этом <form action="/judet/<%= id %>/new" method="POST">, но я получу это: Unexpected token = while compiling EJS./// edit 2: сейчас работает.Я установил <form action="/judet/<% = id %>/new" method="POST">, и синтаксис был неверным, потому что равный должен быть сразу после%.

1 Ответ

0 голосов
/ 20 декабря 2018

"/judet/:id([0-9]{2})/new" проблема в том, что действие должно содержать точный идентификатор. Это не может быть выражением.Если вы отправляете идентификатор, это означает, что у вас есть идентификатор. Допустим, идентификатор равен 123456. Тогда форма должна иметь: "/judet/123456/new".Тот факт, что обработчик маршрута использует регулярные выражения, не означает, что HTML-форма тоже должна

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