初学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 相关文章推荐
一个简单的jQuery插件制作 学习过程及实例
Apr 25 Javascript
js 取时间差去掉周六周日实现代码
Dec 25 Javascript
javascript修改IMG标签的src问题
Mar 28 Javascript
输入框过滤非数字的js代码
Sep 18 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
Aug 21 Javascript
Bootstrap图片轮播组件使用实例解析
Jun 30 Javascript
JS常用倒计时代码实例总结
Feb 07 Javascript
Vue.js实现的计算器功能完整示例
Jul 11 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
Apr 17 Javascript
vue 全局环境切换问题
Oct 27 Javascript
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
Apr 07 Javascript
Java 生成随机字符的示例代码
Jan 13 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函数import_request_variables()用法分析
2016/04/02 PHP
中高级PHP程序员应该掌握哪些技术?
2016/09/23 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
JQuery中使用on方法绑定hover事件实例
2014/12/09 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
使用BootStrap实现标签切换原理解析
2017/03/14 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
详解基于vue-cli3快速发布一个fullpage组件
2019/03/08 Javascript
微信小程序引入VANT组件的方法步骤
2019/09/19 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
JQuery基于FormData异步提交数据文件
2020/09/01 jQuery
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
python文件比较示例分享
2014/01/10 Python
在Python的Flask框架中构建Web表单的教程
2016/06/04 Python
Python彩色化Linux的命令行终端界面的代码实例分享
2016/07/02 Python
python如何在终端里面显示一张图片
2016/08/17 Python
python如何获取服务器硬件信息
2017/05/11 Python
Python基于列表list实现的CRUD操作功能示例
2018/01/05 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2018/02/26 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
PyQt5实现登录页面
2020/05/30 Python
python爬虫scrapy基本使用超详细教程
2021/02/20 Python
纯CSS3制作漂亮带动画效果的主机价格表
2015/04/25 HTML / CSS
24个canvas基础知识小结
2014/12/17 HTML / CSS
详解webapp页面滚动卡顿的解决办法
2018/12/26 HTML / CSS
三星美国官网:Samsung美国
2017/02/06 全球购物
Hanro官网:奢华男士和女士内衣、睡衣和家居服
2018/10/25 全球购物
日本动漫周边服饰销售网站:Atsuko
2019/12/16 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
金山毒霸系列的笔试题
2013/04/13 面试题
2016新年晚会开场白
2015/12/03 职场文书
2016中秋节广告语
2016/01/28 职场文书
python 实现的截屏工具
2021/05/08 Python
Python Parser的用法
2021/05/12 Python
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电