nodejs中实现修改用户路由功能


Posted in NodeJs onMay 24, 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.updateUser=function(req,res){
  User.findOne({_id:req.session.user})
  .exec(function(err,user){
    user.set('email',req.body.email);
    user.set('color',req.body.color);
    user.save(function(err){
      if(err){
        res.sessor.error=err;
      }else{
        req.session.msg='User Updated. ';
      }
      res.redirect('/user');
    });
  });
};

三、user.html

<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="UTF-8">
<title>用户修改</title>
<link rel="stylesheet"type="text/css" href="/static/css/styles.css" />
 <script src="https://cdn.staticfile.org/angular.js/1.5.8/angular.min.js"></script>
 <script src="/static/js/my_app.js"></script>
</head>
<body>
 <div class="form-container" ng-controller="myController">
  <p class="form-header">用户修改</p>
  <form method="POST" action="/user/update">
  <label>用户名:</label>
   <input type="text" name="username" ng-model="user.username" disabled><br>
   <label>Email:</label>
   <input type="email" name="email" ng-model="user.email"><br>
   <label>肤色:</label>
   <input type="text" name="color" ng-model="user.color"><br>
   <input type="submit" value="Save">
 </form>
 </div>
 <form method="POST" action="/user/delete">
 <input type="submit" value="删除用户">
 </form>
 <hr><%=msg%>
 <hr>{{error}}
</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.post('/user/update',users.updateUser);

五、页面显示效果

nodejs中实现修改用户路由功能

总结

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

NodeJs 相关文章推荐
NodeJs中的非阻塞方法介绍
Jun 05 NodeJs
在NodeJS中启用ECMAScript 6小结(windos以及Linux)
Jul 15 NodeJs
Nodejs极简入门教程(一):模块机制
Oct 25 NodeJs
nodejs批量修改文件编码格式
Jan 22 NodeJs
nodejs处理图片的中间件node-images详解
May 08 NodeJs
详解nodeJS之二进制buffer对象
Jun 03 NodeJs
NodeJS实现图片上传代码(Express)
Jun 30 NodeJs
nodejs async异步常用函数总结(推荐)
Nov 17 NodeJs
详解NODEJS的http实现
Jan 04 NodeJs
Nodejs中怎么实现函数的串行执行
Mar 02 NodeJs
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
Nov 18 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 NodeJs
nodejs实现用户登录路由功能
May 22 #NodeJs
基于nodejs的微信JS-SDK简单应用实现
May 21 #NodeJs
nodejs中实现用户注册路由功能
May 20 #NodeJs
nodejs实现日志读取、日志查找及日志刷新的方法分析
May 20 #NodeJs
NodeJS读取分析Nginx错误日志的方法
May 14 #NodeJs
nodejs搭建本地服务器并访问文件操作示例
May 11 #NodeJs
M2实现Nodejs项目自动部署的方法步骤
May 05 #NodeJs
You might like
中国广播史趣谈 — 几个历史第一次
2021/03/01 无线电
PHP 清空varnish 缓存的详解(包括指定站点下的)
2013/06/20 PHP
php实现的百度搜索某地天气的小偷代码
2014/04/23 PHP
php数组指针函数功能及用法示例
2020/02/11 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
Javascript技术技巧大全(五)
2007/01/22 Javascript
Ext 今日学习总结
2010/09/19 Javascript
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
jquery实现简单易懂的图片展示小例子
2013/11/21 Javascript
jQuery实现的简单折叠菜单(折叠面板)效果代码
2015/09/16 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
jQuery遍历DOM节点操作之filter()方法详解
2016/04/14 Javascript
浅谈js的异步执行
2016/10/18 Javascript
jQuery实现三级联动效果
2017/03/02 Javascript
jQuery中each遍历的三种方法实例分析
2018/09/07 jQuery
vue配置接口域名方法总结
2019/05/12 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
[01:19:46]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
python中requests模块的使用方法
2015/04/08 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Python中定时任务框架APScheduler的快速入门指南
2017/07/06 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
python单例模式的多种实现方法
2019/07/26 Python
使用pip安装python库的多种方式
2019/07/31 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
Python 进程操作之进程间通过队列共享数据,队列Queue简单示例
2019/10/11 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
创业计划书如何吸引他人眼球
2014/01/10 职场文书
班队活动设计方案
2014/01/30 职场文书
党的群众路线教育实践活动实施方案
2014/10/31 职场文书
高中数学课堂教学反思
2016/02/18 职场文书
BCL经典机 SONY ICF-5900W电路分析
2022/04/24 无线电