0

我对 node.js 很陌生,我喜欢它。我只是想通过一个非常简单的登录来工作。当我尝试使用 GET 获取表单输入数据时,我没有遇到问题。但我正在发送密码,所以我不想使用 GET 因为 url 中的信息。

表单打开 /login (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' });
};

真的就是这样,因为在那之后它不允许我做任何事情。

非常感谢杰森霍恩斯比

4

1 回答 1

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;
}

注意post参数可以通过req.body对象访问

于 2013-01-16T22:58:12.463 回答