我想通过node.js创建一个非常简单的登录名
我现在的问题是,如果用户输入了错误的密码,我想在html上添加一个新标签,写上“用户名或密码错误” 仅使用纯html如何实现?
我现在要获得的只是将我重定向到显示“缺少用户名或密码”的/ login,但是我想保留在登录页面上。
另一点是,我想保持服务器端重定向。客户端重定向似乎是不好的做法。
app.post('/login', function (req, res) {
database.query("SELECT EXISTS ( SELECT * FROM Users WHERE username = '" + req.body.username + "' AND password = '" + req.body.password + "')", function(err, data) {
if(err) {
console.log(err);
}
else{
if(Object.values(data[0])[0] != 1) {
res.status(400).send('Missing username or password'); // send this msg to html
}
else{
res.redirect("main.html");
}
res.end();
}
});
});
app.listen(3001);
答案 0 :(得分:2)
我不了解纯HTML部分。您是说在服务器端没有javascript / ajax或模板引擎吗?
如果仅需使用form-post,我将为此使用EJS。否则,您可以使用ajax请求。
问题是您正在将html结果返回给客户端。如果您使用EJS,则必须返回以下内容;
return res.render('login.html', {errMsg:'Missing username or password'});