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通过phantomjs实现下载网页
May 04 NodeJs
Nodejs实现批量下载妹纸图
May 28 NodeJs
详解nodejs 文本操作模块-fs模块(四)
Dec 22 NodeJs
nodejs个人博客开发第三步 载入页面
Apr 12 NodeJs
Nodejs中使用captchapng模块生成图片验证码
May 18 NodeJs
详解nodejs模板引擎制作
Jun 14 NodeJs
基于nodejs+express4.X实现文件下载的实例代码
Jul 13 NodeJs
nodejs创建简易web服务器与文件读写的实例
Sep 07 NodeJs
Nodejs中使用phantom将html转为pdf或图片格式的方法
Sep 18 NodeJs
nodeJs爬虫的技术点总结
May 13 NodeJs
详解从NodeJS搭建中间层再谈前后端分离
Nov 13 NodeJs
nodejs的安装使用与npm的介绍
Sep 11 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出错界面
2006/10/09 PHP
PHP动态图像的创建
2006/10/09 PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
2013/02/06 PHP
鼠标图片振动代码
2006/07/06 Javascript
Jquery Ajax.ashx 高效分页实现代码
2009/10/20 Javascript
让Firefox支持event对象实现代码
2009/11/07 Javascript
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
基于jquery animate操作css样式属性小结
2015/11/27 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
微信小程序scroll-view实现横向滚动和上拉加载示例
2017/03/06 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
node.js中express模块创建服务器和http模块客户端发请求
2019/03/06 Javascript
基于ajax及jQuery实现局部刷新过程解析
2020/09/12 jQuery
Python使用pip安装报错:is not a supported wheel on this platform的解决方法
2018/01/23 Python
Python Numpy 数组的初始化和基本操作
2018/03/13 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
解决python3 Pycharm上连接数据库时报错的问题
2018/12/03 Python
Python3 修改默认环境的方法
2019/02/16 Python
python GUI库图形界面开发之PyQt5菜单栏控件QMenuBar的详细使用方法与实例
2020/02/28 Python
详解python中的异常捕获
2020/12/15 Python
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
墨西哥运动服饰和鞋网上商店:Netshoes墨西哥
2016/07/28 全球购物
印度服装购物网站:Limeroad
2018/09/26 全球购物
俄罗斯最大的在线手表商店:Bestwatch.ru
2020/01/11 全球购物
Ajxa常见问题都有哪些
2014/03/26 面试题
行政工作个人的自我评价
2014/02/13 职场文书
车间机修工岗位职责
2014/02/28 职场文书
就业协议书
2014/09/12 职场文书
个人先进事迹材料
2014/12/29 职场文书
财务统计员岗位职责
2015/04/14 职场文书
公司年夜饭通知
2015/04/25 职场文书
python开发的自动化运维工具ansible详解
2021/08/07 Python