nodejs中实现用户注册路由功能


Posted in NodeJs onMay 20, 2019

 经过前面几次的学习,已经可以做下小功能,今天要实现的是用户注册路由。

一、users_model.js  功能:定义用户对象模型

var mongoose=require('mongoose'),
   Schema=mongoose.Schema;
var UserSchema=new Schema({
   username:{type:String,unique:true},
   email:String,
   color:String,
   hashed_password:String
});
mongoose.model('User',UserSchema);

二、users_controller.js  功能:为Express服务器实现用户注册的路由

var crypto=require('crypto');
var mongoose=require('mongoose'),User=mongoose.model('User');
function hashPW(pwd){
  return crypto.createHash('sha256').update(pwd).
  digest('base64').toString();
}
//实现用户注册路由
exports.signup=function(req,res){
var user=new User({username:req.body.username});
user.set('hashed_password',hashPW(req.body.password));
user.set('email',req.body.email);
user.save(function(err){
  if(err){
    res.session.error=err;
    res.redirect('/signup');
  }else{
    req.session.user=user.id;
    req.session.username=user.username;
    req.session.msg='Authenticated as '+user.username;
    res.redirect('/');
  }
});
};

三、signup.html 用户注册页面

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>用户注册</title>
<link rel="stylesheet"type="text/css" href="/static/css/styles.css" rel="external nofollow" />
</head>
<body>
 <div class="form-container">
 <p class="form-header">注册</p>
 <form method="POST" >
  <label>用户名:</label>
   <input type="text" name="username"><br>
   <label>密码:</label>
   <input type="password" name="password"><br>
   <label>Email:</label>
   <input type="email" name="email"><br>
   <input type="submit" value="注册">
 </form>
 </div>
 <hr> <%=msg %>
</body>
</html>

四、routes.js 功能:为Express服务器实现处理Web请求路由

var crypto=require('crypto');
var express=require('express');
module.exports=function(app){
  var users=require('./controllers/users_controller');
  app.use('/static',express.static('./static')).
  use('/lib',express.static('../lib')
);
app.get('/signup',function(req,res){
  if(req.session.user){
    res.redirect('/');
  }
  res.render('signup',{msg:req.session.msg})
});
app.post('/signup',users.signup);

页面效果

nodejs中实现用户注册路由功能

数据库显示

nodejs中实现用户注册路由功能

总结

以上所述是小编给大家介绍的nodejs中实现用户注册路由功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

NodeJs 相关文章推荐
nodejs获取本机内网和外网ip地址的实现代码
Jun 01 NodeJs
Nodejs全栈框架StrongLoop推荐
Nov 09 NodeJs
NodeJS学习笔记之Http模块
Jan 13 NodeJs
nodejs中实现sleep功能实例
Mar 24 NodeJs
Nodejs获取网络数据并生成Excel表格
Mar 31 NodeJs
Nodejs中 npm常用命令详解
Jul 04 NodeJs
nodejs进阶(6)—连接MySQL数据库示例
Jan 07 NodeJs
详解nodeJS之路径PATH模块
May 31 NodeJs
Nodejs+express+ejs简单使用实例代码
Sep 18 NodeJs
详解IWinter 一个路由转控制器的 Nodejs 库
Nov 15 NodeJs
nodejs实现的简单web服务器功能示例
Mar 15 NodeJs
Nodejs实现多文件夹文件同步
Oct 17 NodeJs
nodejs实现日志读取、日志查找及日志刷新的方法分析
May 20 #NodeJs
NodeJS读取分析Nginx错误日志的方法
May 14 #NodeJs
nodejs搭建本地服务器并访问文件操作示例
May 11 #NodeJs
M2实现Nodejs项目自动部署的方法步骤
May 05 #NodeJs
nodejs通过钉钉群机器人推送消息的实现代码
May 05 #NodeJs
nodejs中request库使用HTTPS代理的方法
Apr 30 #NodeJs
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
Apr 29 #NodeJs
You might like
一个简单的php实现的MySQL数据浏览器
2007/03/11 PHP
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
作为PHP程序员你要知道的另外一种日志
2018/07/30 PHP
JS Timing
2007/04/21 Javascript
Extjs学习笔记之一 初识Extjs之MessageBox
2010/01/07 Javascript
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
2012/05/14 Javascript
JS+CSS实现另类带提示效果的竖向导航菜单
2015/10/15 Javascript
js实现新浪微博首页效果
2015/10/16 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
微信小程序中多个页面传参通信的学习与实践
2017/05/05 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
Vue常见面试题整理【值得收藏】
2018/09/20 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
JavaScript如何操作css
2020/10/24 Javascript
Python实现的文本简单可逆加密算法示例
2017/05/18 Python
利用Python读取文件的四种不同方法比对
2017/05/18 Python
python numpy 一维数组转变为多维数组的实例
2018/07/02 Python
python paramiko利用sftp上传目录到远程的实例
2019/01/03 Python
Python发展史及网络爬虫
2019/06/19 Python
python中的colorlog库使用详解
2019/07/05 Python
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
英国的屈臣氏:Boots博姿
2017/12/23 全球购物
英国设计师珠宝网站:Joshua James Jewellery
2020/03/01 全球购物
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
英文版银行求职信
2013/10/09 职场文书
家长会主持词
2014/03/26 职场文书
护士演讲稿优秀范文
2014/04/30 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
2015年教师新年寄语
2014/12/08 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
整脏治乱工作简报
2015/07/21 职场文书
公司保密管理制度
2015/08/04 职场文书
2016公司新年问候语
2015/11/11 职场文书
2016年中秋节寄语大全
2015/12/07 职场文书
Mysql开启外网访问
2022/05/15 MySQL
python运行脚本文件的三种方法实例
2022/06/25 Python