没有使用node.js和express来获取POST参数

时间:2013-01-16 15:05:27

标签: node.js post get express

我对node.js很新,我喜欢它。我只想尝试一个非常简单的登录工作。当我尝试使用GET获取表单输入数据时,我没有问题。但我发送密码所以我不想使用GET,因为网址中的信息。

表格打开/登录(admin.login),但我一直收到错误

  

无法发帖/登录

表单是用Jade编写的,因为最终会以HTML格式结束,这不应该是一个问题。

extends layout

block content 
h1 Admin Login
form(action="/login", method="post")#inputFields
    span Username
    input(type="text", name="username")
    span Password
    input(type="password", name="password")
    input(type="submit")

这是登录链接到的文件

/*
 * GET home page.
 */

exports.index = function(req, res){ 
    if (req.session.UserLogin != true) {
        res.redirect("../login");
    } 

    res.render('index', { title: 'Express' });
};


exports.login = function(req, res){  
    req.
  res.render('login', { title: 'Express' });
};

真的就是这就是因为在此之后它不会让我做任何事情。

非常感谢 杰森霍恩斯比

1 个答案:

答案 0 :(得分:2)

问题似乎是您没有设置路由来处理POST登录请求。您似乎使用Express作为框架,因此只需添加:

app.post('/login', handleLogin); 

处理请求。然后,您可以拥有一个处理功能:

exports.handleLogin = function (req, res) {
    //Handle request here
    var username = req.body.username;
    var password = req.body.password;
}

请注意,可以通过req.body对象

访问post参数