我创建了一个Expressjs应用程序。它包含公共,视图,路径文件夹和app.js文件。
我在app.js中有“/”路径的后置路由器,
app.post('/', store.home_post_handler);
和玉码,
#display
#login
form(method='post')
| Enter your name if you want to be a ninja
div
input(type='text', name='username')
input(type='submit', value='Log In')
我的问题是,是否可以在一个页面中使用两个帖子方法?
答案 0 :(得分:1)
如果你想在客户端页面上有两个表单,它们做不同的事情,区分表单的最简单方法是通过更改表单元素的action
属性将它们POST到不同的URL。
如果您要求表单POST到同一个URL,您应该使用@hexacyanide的解决方案。
// app.js
app.get('/form', function(req, res){
res.render('formTemplate');
});
app.post('/form1', function(req, res){
console.log(req.body.foo);
});
app.post('/form2', function(req, res){
console.log(req.body.bar);
});
// formTemplate.jade
!!!
body
form(action='form1', method='post')
label(for='foo') Foo:
input(type='text', name='foo', id='foo')
input(type='submit', value='Submit Foo')
form(action='form2', method='post')
label(for='bar') Bar:
input(type='text', name='bar', id='bar')
input(type='submit', value='Submit Bar')