可以在expressjs中做两个帖子路线吗?

时间:2013-10-09 17:33:42

标签: javascript node.js express

我创建了一个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')

我的问题是,是否可以在一个页面中使用两个帖子方法?

1 个答案:

答案 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')