nodejs express/routes和mysql登录页面
上周刚开始学习Node,我正在尝试使用express和mySQL创建一个登录页面 我在互联网上看了一些教程视频,并在下面列出了一组代码。我可以运行此代码,不会弹出错误,但有一个小问题,就是在我按下登录按钮后,服务器没有重定向到其他页面 我想知道我的前端部分是否有问题,或者我遗漏了一些部分。我真的希望你们能帮我一把,因为我已经试了三天来通过这个阶段 谢谢 请参阅代码: 路由/login.ejs:nodejs express/routes和mysql登录页面,mysql,node.js,login-page,Mysql,Node.js,Login Page,上周刚开始学习Node,我正在尝试使用express和mySQL创建一个登录页面 我在互联网上看了一些教程视频,并在下面列出了一组代码。我可以运行此代码,不会弹出错误,但有一个小问题,就是在我按下登录按钮后,服务器没有重定向到其他页面 我想知道我的前端部分是否有问题,或者我遗漏了一些部分。我真的希望你们能帮我一把,因为我已经试了三天来通过这个阶段 谢谢 请参阅代码: 路由/login.ejs: <input id="txtUserName" name="txtUserName" type=
<input id="txtUserName" name="txtUserName" type="text" class="form-control" placeholder="Username" required="" />
</div>
<input id="txtUserPwd" name="txtUserPwd" type="password" class="form-control" placeholder="Password" required="" />
</div>
<button class="btn btn-default submit" href="/users">Log in</button>
var express = require('express'),
User = require('../models/user.js'),
router = express.Router(),
crypto = require('crypto'),
title = 'LogIn';
router.get('/', function(req, res) {
res.render('login', {title:title});
});
router.post('/', function(req, res) {
var userName = req.body['txtUserName'],
userPwd = req.body['txtUserPwd'],
md5 = crypto.createHash('md5');
User.getUserByUserName(userName, function (err, results) {
if(results == '') {
res.locals.error = 'Accounts Not Exist';
res.render('login',{title:title});
return;
}
userPwd = md5.update(userPwd).digest('hex');
if(results[0].UserName != userName || results[0].UserPass != userPwd) {
res.locals.error = 'Wrong User Name or Password';
res.render('login',{title:title});
return;
} else {
res.locals.username = userName;
//設定session
req.session.username = res.locals.username;
console.log(req.session.username);
res.redirect('/');
return;
}
});
});
module.exports = router;
Models/user.js
var mysql = require('mysql');
var LocalStrategy = require('passport-local').Strategy;
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : 'testtest'
});
connection.query('USE myfirstwebapp');
function User(user){
this.username = user.username;
this.userpass = user.userpass;
};
User.getUserNumByName = function getUserNumByName(username, callback) {
var cmd = "select COUNT(1) AS num from user info where username = ?";
connection.query(cmd, [username], function (err, result) {
if (err) {
return;
}
connection.release();
callback(err,result);
});
};
User.getUserByUserName = function getUserNumByName(username, callback) {
var cmd = "select * from userinfo where username = ?";
connection.query(cmd, [username], function (err, result) {
if (err) {
return;
}
connection.release();
callback(err,result);
});
};
您是否有任何javascript或前端功能,可以将数据从登录页面发送到node.js后端?另外,您还发送了一个
href=“/users”
,但在您的后端,我只看到/
,没有看到/users
@kingload。谢谢您的回复,先生,我这是我的前端,因为我正在尝试查看是否可以登录,如果登录成功,我已经更改了href=“/users”是一个仪表板。我可以知道我的后端是否正常吗?你应该看看这个。@SimoneRene,你解决过这个问题吗?