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进程管理模块forever详解
Jun 01 NodeJs
nodejs教程之制作一个简单的文章发布系统
Nov 21 NodeJs
nodejs下打包模块archiver详解
Dec 03 NodeJs
轻松创建nodejs服务器(6):作出响应
Dec 18 NodeJs
详解nodejs 文本操作模块-fs模块(四)
Dec 22 NodeJs
深入学习nodejs中的async模块的使用方法
Jul 12 NodeJs
详解nodejs中express搭建权限管理系统
Sep 15 NodeJs
NodeJS安装图文教程
Apr 19 NodeJs
NodeJS加密解密及node-rsa加密解密用法详解
Oct 12 NodeJs
深入理解nodejs搭建静态服务器(实现命令行)
Feb 05 NodeJs
nodejs文件夹深层复制功能
Sep 03 NodeJs
Nodejs封装类似express框架的路由实例详解
Jan 05 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
重置版游戏视频
2020/04/09 魔兽争霸
杏林同学录(一)
2006/10/09 PHP
PHP添加MySQL数据记录代码
2008/06/07 PHP
PHP中abstract(抽象)、final(最终)和static(静态)原理与用法详解
2020/06/05 PHP
javascript的函数
2007/01/31 Javascript
面向对象Javascript核心支持代码分享
2012/05/23 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
2015/04/06 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
2015/11/30 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
基于JavaScript实现复选框的全选和取消全选
2017/02/09 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
js实现登录框鼠标拖拽效果
2017/03/09 Javascript
js构建二叉树进行数值数组的去重与优化详解
2018/03/26 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
javascript的this关键字详解
2019/05/20 Javascript
移动端手指操控左右滑动的菜单
2019/09/08 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
Antd表格滚动 宽度自适应 不换行的实例
2020/10/27 Javascript
举例讲解Python常用模块
2019/03/08 Python
通过selenium抓取某东的TT购买记录并分析趋势过程解析
2019/08/15 Python
python读取ini配置文件过程示范
2019/12/23 Python
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
捷克原创男装和女装购物网站:Bolf.cz
2018/04/28 全球购物
美国家庭鞋店:Shoe Sensation
2019/09/27 全球购物
健康家庭事迹材料
2014/05/02 职场文书
经济类毕业生求职信
2014/06/26 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
房屋登记授权委托书范本
2014/10/09 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
求职推荐信范文
2015/03/27 职场文书
Linux中如何安装并部署Redis
2022/04/18 Servers
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android