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实现获取当前url地址及url各种参数值
Jun 25 NodeJs
Nodejs获取网络数据并生成Excel表格
Mar 31 NodeJs
浅析Nodejs npm常用命令
Jun 14 NodeJs
NodeJS和BootStrap分页效果的实现代码
Nov 07 NodeJs
nodejs开发——express路由与中间件
Mar 24 NodeJs
Ajax异步文件上传与NodeJS express服务端处理
Apr 01 NodeJs
nodejs socket服务端和客户端简单通信功能
Sep 14 NodeJs
nodeJs爬虫的技术点总结
May 13 NodeJs
NodeJs 文件系统操作模块fs使用方法详解
Nov 26 NodeJs
nodejs使用node-xlsx生成excel的方法示例
Aug 22 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 NodeJs
linux 下以二进制的方式安装 nodejs
Feb 12 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
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
PHP基于简单递归函数求一个数阶乘的方法示例
2017/04/26 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
2010/06/28 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
利用jQuery实现WordPress中@的ID悬浮显示评论内容
2015/12/11 Javascript
JavaScript面向对象编写购物车功能
2016/08/19 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
Angular2入门教程之模块和组件详解
2017/05/28 Javascript
vue2 中如何实现动态表单增删改查实例
2017/06/09 Javascript
JavaScript使用面向对象实现的拖拽功能详解
2019/06/12 Javascript
Python3实现将文件归档到zip文件及从zip文件中读取数据的方法
2015/05/22 Python
WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法
2017/03/16 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
用python实现对比两张图片的不同
2018/02/05 Python
Python实现的径向基(RBF)神经网络示例
2018/02/06 Python
Python hashlib模块用法实例分析
2018/06/12 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
Python按照list dict key进行排序过程解析
2020/04/04 Python
常用的10个Python实用小技巧
2020/08/10 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
HTML5地理定位实例
2014/10/15 HTML / CSS
香蕉共和国Banana Republic官网:美国GAP旗下偏贵族风格服饰品牌
2016/11/21 全球购物
网络方面基础面试题
2012/11/16 面试题
感恩之星事迹材料
2014/05/03 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
浅谈vue2的$refs在vue3组合式API中的替代方法
2021/04/18 Vue.js
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
JavaScript 反射学习技巧
2021/10/16 Javascript
CentOS 7安装mysql5.7使用XtraBackUp备份工具命令详解
2022/04/12 MySQL