我创建了一个 Expressjs 应用程序。它包含 public、views、routes 文件夹和 app.js 文件。
我在 app.js 中有一个用于“/”路径的后置路由器,
app.post('/', store.home_post_handler);
还有 Jade 码,
#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')
我的问题是,是否可以在一个页面中有两个 post 方法?
最佳答案
如果您希望客户端页面上有两个执行不同操作的表单,区分这些表单的最简单方法是通过更改表单元素的 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')
关于javascript - 在expressjs中可以做两个post路由吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19278881/