节点JS处理相同路由的多个帖子请求

时间:2015-02-20 03:02:01

标签: javascript node.js mongodb

我正在用Express JS和MongoDb构建一个Node JS应用程序。在我的index.hjs(使用hogan)页面中有一个登录和忘记密码功能。现在两个表单都有动作作为动作=" /"和方法=" POST"

我在我的index.js中处理我的登录帖子请求

 var express = require('express');
 var router = express.Router();
 var login = require('login.js');



router.post('/', function(req, res, next) {
    var email = req.body.email;
    var password = req.body.password;

    //calls a login.js function and passes it the params
    login.login(email, password, req, res);
});

现在我的问题是忘记密码提交是假设也要进行POST但我不确定应该如何处理。我是否在同一篇文章中这样做?我想可能使用next()是关键,但如何?

我们如何处理多个帖子请求?

PS:对于Node JS来说相当新,所以请原谅我的逻辑和代码。

感谢。

2 个答案:

答案 0 :(得分:1)

为登录和恢复帖子使用两种不同的路径。

例如:/ login和/ recoverpw

router.post('/login', function(req, res, next) {
    var email = req.body.email;
    var password = req.body.password;

    //calls a login.js function and passes it the params
    login.login(email, password, req, res);
});

router.post('/recoverpw', function(req, res, next) {
    //your recovery code
});

答案 1 :(得分:1)

我建议您创建新的路由来处理忘记密码请求,因为您没有" var password = req.body.password;"如果忘记了密码,那么最好为它创建新的路线: -

router.post('/forgot', function(req, res) {
    var email = req.body.email;
    //calls a login.js function and passes it the params
    login.login(email, password, req, res);
});

我们在节点中Middleware的情况下使用next()。