我正在尝试使用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中的变量。
答案 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"});
})