使用Jade

时间:2016-06-12 13:14:18

标签: javascript node.js express pug

我正在尝试使用Jade和Express在NodeJS中创建我的第一个网站。现在我想在名为Lipinsky的页面上创建一个表单,但我无法弄清楚如何将输入存储到变量中。 我尝试了console.logging res和req,他们是没有任何主体的大对象,所以req.body是未定义的。 我用于渲染和获取表单的app.js如下所示:

app.get('/lipinsky', function (req, res, next) {
  try {
    let html = lipinsky({ title: 'Lipinsky RO5' })
    res.send(html)
  } catch (e) {
    next(e)
  }
})

app.post('/lipinsky', function (req, res) {
    let html = lipinsky({ title: 'Lipinsky RO5' })
    res.send(html);
});

我的lipinsky.jade是:

extend default

block content
  h3.
    Lipinsky rule of five calculator

  p.
    Calculate Lipinsky RO5 for molecules with a known CAS registry number.
  div
  form(action='/lipinsky',method='post')
    div(data-role='fieldcontain')
      fieldset(data-role='controlgroup')
        label(for='name') Molecule name 
           input(id='name',type='text',value='',name='name')

所以我不知道我是否做得对,以及如何将输入的表单数据输入app.js中的变量。

1 个答案:

答案 0 :(得分:2)

到底是什么lipinsky()? 1.无论如何,您可以使用res.render( { title: "foo" } )渲染模板并将其返回 你还没有在你的玉中使用title

doctype html
html(lang="en")
    body
        h3= title

3。我想你还没有添加任何中间件。因此,您不应该致电next(e)

app.get('/lipinsky', function (req, res) {
    res.render("./views/lipinsky", {title: "foo"});
})