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服务器(10):处理上传图片
Dec 18 NodeJs
NodeJS远程代码执行
Aug 28 NodeJs
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
Jan 12 NodeJs
详解nodejs中的process进程
Mar 19 NodeJs
详解使用PM2管理nodejs进程
Oct 24 NodeJs
nodejs实现连接mongodb数据库的方法示例
Mar 15 NodeJs
webstorm中配置nodejs环境及npm的实例
May 15 NodeJs
Linux Centos7.2下安装nodejs&amp;npm配置全局路径的教程
May 15 NodeJs
Nodejs实现的操作MongoDB数据库功能完整示例
Feb 02 NodeJs
Nodejs中使用puppeteer控制浏览器中视频播放功能
Aug 26 NodeJs
NodeJS http模块用法示例【创建web服务器/客户端】
Nov 05 NodeJs
node快速搭建后台的实现步骤
Feb 18 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
PHP 数组实例说明
2008/08/18 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
基于PHP实现短信验证码发送次数限制
2020/07/11 PHP
判断是否输入完毕再激活提交按钮
2006/06/26 Javascript
Code:loadScript( )加载js的功能函数
2007/02/02 Javascript
js中的如何定位固定层的位置
2014/06/15 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
jQuery实现的表格前端排序功能示例
2017/09/18 jQuery
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
Vue为什么要谨慎使用$attrs与$listeners
2020/08/27 Javascript
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
Python实现的数据结构与算法之快速排序详解
2015/04/22 Python
python利用不到一百行代码实现一个小siri
2017/03/02 Python
python基本语法练习实例
2017/09/19 Python
使用python对文件中的单词进行提取的方法示例
2018/12/21 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
纯CSS3实现的井字棋游戏
2020/11/25 HTML / CSS
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
药学专业大学生自荐信
2013/09/28 职场文书
企业优秀员工事迹材料
2014/05/28 职场文书
乌镇导游词
2015/02/02 职场文书
美容院管理规章制度
2015/08/05 职场文书
2015年十月一日放假通知
2015/08/18 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers
go 实现简易端口扫描的示例
2021/05/22 Golang
Node与Python 双向通信的实现代码
2021/07/16 Javascript
关于redisson缓存序列化几枚大坑说明
2021/08/04 Redis
Python中的程序流程控制语句
2022/02/24 Python
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏
Python中Matplotlib的点、线形状、颜色以及绘制散点图
2022/04/07 Python