初学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编程起步(第七课)
Jan 10 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
Jul 17 Javascript
2014年最火的Node.JS后端框架推荐
Oct 27 Javascript
jQuery判断多个input file 都不能为空的例子
Jun 23 Javascript
JavaScript实现可拖拽的拖动层Div实例
Aug 05 Javascript
分分钟玩转Vue.js组件
Oct 25 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
Dec 06 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
Jun 16 jQuery
JS设计模式之观察者模式实现实时改变页面中金额数的方法
Feb 05 Javascript
详解webpack自定义loader初探
Aug 29 Javascript
解决layui下拉框监听问题(监听不到值的变化)
Sep 28 Javascript
vue实现几秒后跳转新页面代码
Sep 09 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
SONY SRF-22W(33W)的电路分析和维修案例
2021/03/02 无线电
php array的学习笔记
2012/05/16 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
PHP生成树的方法
2015/07/28 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
javascript实现上传图片并预览的效果实现代码
2011/04/11 Javascript
自定义一个jquery插件[鼠标悬浮时候 出现说明label]
2011/06/27 Javascript
jquery获得option的值和对option进行操作
2013/12/13 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
Vue.js实现无限加载与分页功能开发
2016/11/03 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
详解用场景去理解函数柯里化(入门篇)
2019/04/11 Javascript
vue项目中使用scss的方法步骤
2019/05/16 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
Python中为什么要用self探讨
2015/04/14 Python
python嵌套函数使用外部函数变量的方法(Python2和Python3)
2016/01/31 Python
python中import reload __import__的区别详解
2017/10/16 Python
Python内存管理方式和垃圾回收算法解析
2017/11/11 Python
使用python实现ANN
2017/12/20 Python
python 使用pygame工具包实现贪吃蛇游戏(多彩版)
2019/10/30 Python
tensorflow自定义激活函数实例
2020/02/04 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
2020/03/09 Python
DNA测试:Orig3n
2019/03/01 全球购物
意大利文具和办公产品在线商店:Y-Office
2020/02/27 全球购物
Oracle中delete,truncate和drop的区别
2016/05/05 面试题
大专生工程监理求职信
2013/10/04 职场文书
小学教育毕业生自荐信
2013/11/18 职场文书
抽样调查项目计划书
2014/04/24 职场文书
农业开发项目建议书
2014/05/16 职场文书
防灾减灾标语
2014/10/07 职场文书
行政撤诉申请书
2015/05/18 职场文书