初学node.js中实现删除用户路由


Posted in Javascript onMay 27, 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.deleteUser=function(req,res){
User.findOne({_id:req.session.user})
.exec(function(err,user){
if(user){
user.remove(function(err){
if(err){
req.session.msg=err;
}
req.session.destroy(function(){
res.redirect('/login');
});
});
}else{
req.session.msg="User Not Found!";
req.session.destroy(function(){
res.redirect('/login');
});
}
});
};

三、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" rel="external nofollow" />
<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/delete',users.deleteUser);

五、页面显示效果

初学node.js中实现删除用户路由

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js parseInt(&quot;08&quot;)未指定进位制问题
Jun 19 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
Jan 13 Javascript
JavaScript遍历table表格中的某行某列并打印其值
Jul 08 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
Dec 17 Javascript
bootstrap手风琴折叠示例代码分享
May 22 Javascript
详解Angular的8个主要构造块
Jun 20 Javascript
微信小程序 input表单与redio及下拉列表的使用实例
Sep 20 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
Oct 12 Javascript
详解React开发必不可少的eslint配置
Feb 05 Javascript
vue实现表单录入小案例
Sep 27 Javascript
React中获取数据的3种方法及优缺点
Feb 18 Javascript
解决Vue使用bus总线时,第一次路由跳转时数据没成功传递问题
Jul 28 Javascript
jquery实现动态创建form并提交的方法示例
May 27 #jQuery
jquery实现动态改变css样式的方法分析
May 27 #jQuery
Vue scrollBehavior 滚动行为实现后退页面显示在上次浏览的位置
May 27 #Javascript
通过jQuery学习js类型判断的技巧
May 27 #jQuery
实现高性能javascript的注意事项
May 27 #Javascript
图解javascript作用域链
May 27 #Javascript
node.js命令行教程图文详解
May 27 #Javascript
You might like
PHP利用百度ai实现文本和图片审核
2019/05/08 PHP
JS setCapture 区域外事件捕捉
2010/03/18 Javascript
jquery获取div宽度的实现思路与代码
2013/01/13 Javascript
jQuery幻灯片带缩略图轮播效果代码分享
2015/08/17 Javascript
基于javascript代码检测访问网页的浏览器呈现引擎、平台、Windows操作系统、移动设备和游戏系统
2015/12/03 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
2016/03/08 Javascript
全面解析jQuery $(document).ready()和JavaScript onload事件
2016/06/08 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
javascript函数的四种调用模式
2017/01/08 Javascript
jQuery控制元素隐藏和显示
2017/03/03 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
Python中的引用和拷贝浅析
2014/11/22 Python
python实现读Excel写入.txt的方法
2018/04/29 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
Pyqt5自适应布局实例
2019/12/13 Python
利用python在excel中画图的实现方法
2020/03/17 Python
jupyter notebook中新建cell的方法与快捷键操作
2020/04/22 Python
Keras设定GPU使用内存大小方式(Tensorflow backend)
2020/05/22 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
瑜伽服装品牌:露露柠檬(lululemon athletica)
2017/06/04 全球购物
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
Steiff台湾官网:德国金耳釦泰迪熊
2019/12/26 全球购物
教师工作失职检讨书
2014/09/18 职场文书
2014年学生会个人工作总结
2014/11/07 职场文书
2015年幼儿园教育教学工作总结
2015/05/25 职场文书
羊脂球读书笔记
2015/06/30 职场文书
公司新员工欢迎词
2015/09/30 职场文书