node,express,jade:如何处理表单数据

时间:2013-06-22 21:11:57

标签: node.js express pug

是否有最佳实践代码模式如何使用express和jade模板处理HTML表单数据?我想知道,如果使用类似表单模板的自调用循环的PHP是有意义的,比如在路由器脚本中,您有两个处理程序用于相同的路由,一个用于GET,另一个用于POST请求。类似的东西:

exports.getHandler = function(req, res){
  res.render('/formhandling/', {mode: "form-filling"});
}

exports.postHandler = function(req, res){
  res.render('/formhandling/', {mode: "form-processing"});
}

并且jade模板可能看起来像

extends layout

block content

  h1 #{title}

  if mode == "form-processing"
    p Form data processed...

  else
    form(name="", method="post", action="/formhandling/")
    ...

这是否有意义,或者我是否完全错了?

1 个答案:

答案 0 :(得分:0)

我觉得您可以在用户提交后使用jQuery隐藏表单,而不是再次呈现响应。如果要在服务器端对表单进行任何处理,可以在app.js中执行此操作。

app.get('/', routes.form);
app.post('/', function(res,req){
    /* form processing here
       you could also do this with an external route */
});

修改:此外,see my answer on this question