Node.js 学习(四)——实现用户登录功能
贫寒豌豆
共 2074字,需浏览 5分钟
·
2017-04-24 18:48
Node.js学习(四)——实现用户登录功能
本文目的
了解node.js的整套前后台流程
具体实现
使用express创建项目
express -e nodejs-login-demo
修改package.json文件
添加mysql,bootstrap和jquery模块,用的是最新版本,所以写的是latest
{
"name": "nodejs-login-demo",
"version": "0.0.0",
"private": true,
"scripts": {
"start": "node ./bin/www"
},
"dependencies": {
"body-parser": "~1.15.1",
"cookie-parser": "~1.4.3",
"debug": "~2.2.0",
"ejs": "~2.4.1",
"express": "~4.13.4",
"morgan": "~1.7.0",
"serve-favicon": "~2.3.0",
"mysql":"latest",
"bootstrap":"latest",
"jquery":"latest"
}
}
将jquery和bootstrap拷贝的public下
参考http://blog.csdn.net/flygoa/article/details/52677652
登录页面
修改index.ejs文件
用户登录
登录demo
登录接口
修改routes(路由)目录下index.js文件,添加一下内容
//登录接口
router.post('/login', function(req, res, next) {
var name = req.body.username;
var pwd = req.body.password;
var mysql = require('mysql');
//配置连接
var connection = mysql.createConnection({
host: 'localhost',//主机地址
user: 'root',//登录名
password: '',//密码,我这里是空
database:'nodejsdb'//数据库
});
//输入验证
if(!name || name == "") {
console.log("用户名不能为空");
res.send('用户名不能为空');
return;
}
if(!pwd || pwd == "") {
console.log("密码不能为空");
res.send('密码不能为空');
return;
}
//查库比较
connection.connect();
connection.query('SELECT COUNT(*) checkNum FROM `t_user` WHERE name = \''+name+'\' AND psw =\''+ pwd +'\'', function(err, rows, fields) {
if (err) throw err;
var checkNum = rows[0].checkNum;
console.log('结果为: ', rows[0].checkNum);
if(checkNum == 0){
console.log('账号或密码不正确');
res.send('账号或密码不正确');
}else{
console.log('登录成功');
//返回结果
res.send('登录成功,账号密码为:'+name+"---"+pwd);
}
});
//关闭连接
connection.end();
});
页面及效果
示例中使用的是res.send()方法输出一段字符串
登录页面
登录成功页面
登录失败提醒
参考
express中文api(感谢博主分享):http://blog.csdn.net/zhx6044/article/details/50179607
评论