初学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之二(两种扩展)
Jun 11 Javascript
浅谈JavaScript编程语言的编码规范
Oct 21 Javascript
jquery入门—数据删除与隔行变色以及图片预览
Jan 07 Javascript
url参数中有+、空格、=、%、&amp;、#等特殊符号的问题解决
May 15 Javascript
xmlplus组件设计系列之路由(ViewStack)(7)
May 02 Javascript
angularJS模态框$modal实例代码
May 27 Javascript
javascript cookie的基本操作(添加和删除)
Jul 24 Javascript
详解处理bootstrap4不支持远程静态框问题
Jul 20 Javascript
JavaScript中set与get方法用法示例
Aug 15 Javascript
Openlayers实现点闪烁扩散效果
Sep 24 Javascript
vue 虚拟DOM的原理
Oct 03 Javascript
解决vue 使用axios.all()方法发起多个请求控制台报错的问题
Nov 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
有关JSON以及JSON在PHP中的应用
2010/04/09 PHP
php项目开发中用到的快速排序算法分析
2016/06/25 PHP
JS判断字符串变量是否含有某个字串的实现方法
2016/06/03 Javascript
微信小程序 http请求详细介绍
2016/10/09 Javascript
canvas学习之API整理笔记(一)
2016/12/29 Javascript
vue路由懒加载的实现方法
2018/03/12 Javascript
基于vue展开收起动画的示例代码
2018/07/05 Javascript
小程序图片剪裁加旋转的示例代码
2018/07/10 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
jQuery选择器之基本选择器用法实例分析
2019/02/19 jQuery
详解Vue 换肤方案验证
2019/08/28 Javascript
layui前端时间戳转化实例
2019/11/15 Javascript
vue 路由缓存 路由嵌套 路由守卫 监听物理返回操作
2020/08/06 Javascript
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
python实现简单的TCP代理服务器
2014/10/08 Python
在Python的web框架中中编写日志列表的教程
2015/04/30 Python
Python可变参数函数用法实例
2015/07/07 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
python_mask_array的用法
2020/02/18 Python
python如何删除文件、目录
2020/06/23 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
PHP面试题及答案二
2015/05/23 面试题
酒店销售主管岗位职责
2014/01/04 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
车贷收入证明范本
2014/09/14 职场文书
长城导游词400字
2015/01/30 职场文书
感恩节寄语2015
2015/03/24 职场文书
请病假条范文
2015/08/17 职场文书
Python数据清洗工具之Numpy的基本操作
2021/04/22 Python
Spring boot应用启动后首次访问很慢的解决方案
2021/06/23 Java/Android
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android
Mysql数据库按时间点恢复实战记录
2021/06/30 MySQL
Python批量解压&压缩文件夹的示例代码
2022/04/04 Python
使用Python拟合函数曲线
2022/04/14 Python
Pygame游戏开发之太空射击实战敌人精灵篇
2022/08/05 Python