初学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 相关文章推荐
JavaScript Sort 表格排序
Oct 31 Javascript
JQuery中基础过滤选择器用法实例分析
May 18 Javascript
JS版元素周期表实现方法
Aug 05 Javascript
JS实现跟随鼠标的链接文字提示框效果
Aug 06 Javascript
JQuery为元素添加样式的实现方法
Jul 20 Javascript
Javascript中常见的逻辑题和解决方法
Sep 17 Javascript
javascript实现页面滚屏效果
Jan 17 Javascript
详解Vue双向数据绑定原理解析
Sep 11 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 Javascript
微信小程序实时聊天WebSocket
Jul 05 Javascript
Vue项目查看当前使用的elementUI版本的方法
Sep 27 Javascript
vue+elementui 对话框取消 表单验证重置示例
Oct 29 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一些错误处理的方法与技巧总结
2013/08/10 PHP
PHP header()函数常用方法总结
2014/04/11 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
2015/06/17 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
JS实现向表格中动态添加行的方法
2015/03/30 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
详解JavaScript的Date对象(制作简易钟表)
2020/04/07 Javascript
基于jQuery实现Accordion手风琴自定义插件
2020/10/13 Javascript
jQuery得到多个值只能用取Class ,不能用取ID的方法
2016/12/04 Javascript
vue中v-show和v-if的异同及v-show用法
2019/06/06 Javascript
微信小程序中插入激励视频广告并获取收益(实例代码)
2019/12/06 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
使用Vue Composition API写出清晰、可扩展的表单实现
2020/06/10 Javascript
JS实现canvas简单小画板功能
2020/06/23 Javascript
Vue优化:常见会导致内存泄漏问题及优化详解
2020/08/04 Javascript
vue+axios 拦截器实现统一token的案例
2020/09/11 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
[40:13]Ti4 冒泡赛第二天 iG vs NEWBEE 2
2014/07/15 DOTA
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
pandas中apply和transform方法的性能比较及区别介绍
2018/10/30 Python
python 定时任务去检测服务器端口是否通的实例
2019/01/26 Python
详解Python正则表达式re模块
2019/03/19 Python
win8.1安装Python 2.7版环境图文详解
2019/07/01 Python
德国受欢迎的旅游和休闲网站:lastminute.de
2019/09/23 全球购物
Servlet的生命周期
2013/08/25 面试题
客服文员岗位职责
2013/11/29 职场文书
费用会计岗位职责
2014/01/01 职场文书
三年级班级文化建设方案
2014/05/04 职场文书
工作粗心大意检讨书
2014/09/18 职场文书
如何解决.cuda()加载用时很长的问题
2021/05/24 Python
浅谈自定义校验注解ConstraintValidator
2021/06/30 Java/Android
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB