初学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之bind使用介绍
Oct 09 Javascript
网页右侧悬浮滚动在线qq客服代码示例
Apr 28 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
May 12 Javascript
浅谈javascript事件取消和阻止冒泡
May 26 Javascript
Angularjs中UI Router的使用方法
May 14 Javascript
基于Bootstrap实现tab标签切换效果
Apr 15 Javascript
js中使用使用原型(prototype)定义方法的好处详解
Jul 04 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
Feb 18 Javascript
webpack3升级到webpack4遇到问题总结
Sep 30 Javascript
解决VUE-Router 同一页面第二次进入不刷新的问题
Jul 22 Javascript
浅谈克隆 JavaScript
Nov 02 Javascript
Vue+TypeScript中处理computed方式
Apr 02 Vue.js
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计划任务、定时执行任务的实现代码
2011/04/23 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
laravel 实现设置时区的简单方法
2019/10/10 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
js各种验证文本框输入格式(正则表达式)
2010/10/22 Javascript
解析javascript 浏览器关闭事件
2013/07/08 Javascript
jquery attr方法获取input的checked属性问题
2014/05/26 Javascript
jquery.validate.js插件使用经验记录
2014/07/02 Javascript
jquery.cookie.js用法实例详解
2015/12/25 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
2016/05/09 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
nodejs爬虫初试superagent和cheerio
2018/03/05 NodeJs
vue-cli3.0配置及使用注意事项详解
2018/09/05 Javascript
JavaScript中七种流行的开源机器学习框架
2018/10/11 Javascript
JavaScript函数式编程(Functional Programming)纯函数用法分析
2019/05/22 Javascript
独立部署小程序基于nodejs的服务器过程详解
2019/06/24 NodeJs
Python实现按学生年龄排序的实际问题详解
2017/08/29 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
python暴力解压rar加密文件过程详解
2019/07/05 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
python下载库的步骤方法
2019/10/12 Python
基于Pytorch SSD模型分析
2020/02/18 Python
python爬取音频下载的示例代码
2020/10/19 Python
Pycharm制作搞怪弹窗的实现代码
2021/02/19 Python
使用HTML5的表单验证的简单示例
2015/09/09 HTML / CSS
HTML5跳转小程序wx-open-launch-weapp的示例代码
2020/07/16 HTML / CSS
汤米巴哈马官方网站:Tommy Bahama
2017/05/13 全球购物
什么是接口(Interface)?
2013/02/01 面试题
优秀的计算机专业求职信范文
2013/12/27 职场文书
大学生求职自我评价
2014/01/16 职场文书
分家协议书
2014/04/21 职场文书
环保建议书100字
2014/05/14 职场文书
公司经理任命书
2014/06/05 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
Go语言基础map用法及示例详解
2021/11/17 Golang
P站美图推荐——变身女主角特辑
2022/03/20 日漫