Express.js在控制器中获取http方法

dev*_*pus 54 http node.js express

我正在建立一个注册表(护照本地作为身份验证,形式为表单助手).

因为注册只知道GET和POST我想在一个函数中完成整个处理.

换句话说,我正在搜索以下内容:

exports.register = function(req, res){
    if (req.isPost) {
       // do form handling
    }
    res.render('user/registration.html.swig', { form: form.toHTML() });
};
Run Code Online (Sandbox Code Playgroud)

dev*_*pus 102

答案很简单

exports.register = function(req, res) {
    if (req.method == "POST") {
       // do form handling
    }
    res.render('user/registration.html.swig', { form: form.toHTML() });
};
Run Code Online (Sandbox Code Playgroud)

但是我在快速指南中搜索了这种方法很长一段时间.

最后,节点文档有如下详细信息:http: //nodejs.org/api/http.html#http_http_request_options_callback

  • 对.这是可惜的是express.js文件在这里http://expressjs.com/api.html#req.params错过了这些事情,它不是指内置库中的NodeJS,这实在是必要的文档. (5认同)
  • 嗨,谢谢您发布此解决方案.但对我来说,为了使逻辑工作正如你在那里列出的那样,我必须这样做我的IF语句:`if(req.method!='GET')` (4认同)
  • 如果在比较字符串时使用三等号而不是双等号会更好 (2认同)