初學(xué)node.js中實(shí)現(xiàn)刪除用戶路由
一、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服務(wù)器實(shí)現(xiàn)刪除用戶路由
var crypto=require('crypto'); var mongoose=require('mongoose'),User=mongoose.model('User'); function hashPW(pwd){ return crypto.createHash('sha256').update(pwd). digest('base64').toString(); } //實(shí)現(xiàn)刪除用戶路由 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服務(wù)器實(shí)現(xiàn)處理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);
五、頁面顯示效果
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
從零學(xué)習(xí)node.js之簡易的網(wǎng)絡(luò)爬蟲(四)
簡單的爬蟲實(shí)現(xiàn)原理很簡單:發(fā)送http請求至目標(biāo)地址獲取HTML頁面數(shù)據(jù),然后從獲取來的頁面數(shù)據(jù)中提取需要的數(shù)據(jù)保存。下面這篇文章主要介紹了利用node.js實(shí)現(xiàn)簡易的網(wǎng)絡(luò)爬蟲的相關(guān)資料,需要的朋友可以參考下。2017-02-02手把手教你用node.js搭建一個(gè)Web服務(wù)
Web服務(wù)器一般指網(wǎng)站服務(wù)器,是指駐留于因特網(wǎng)上某種類型計(jì)算機(jī)的程序,下面這篇文章主要給大家介紹了關(guān)于用node.js搭建一個(gè)Web服務(wù)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-04-04使用Jasmine和Karma對AngularJS頁面程序進(jìn)行測試
這篇文章主要介紹了使用Jasmine和Karma對AngularJS頁面程序進(jìn)行測試的方法,以Node.js為環(huán)境,非常適合JavaScript的全棧開發(fā)時(shí)使用,需要的朋友可以參考下2016-03-03NodeJS創(chuàng)建最簡單的HTTP服務(wù)器
這篇文章主要介紹了NodeJS創(chuàng)建最簡單的HTTP服務(wù)器的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05在NodeJS中啟用ECMAScript 6小結(jié)(windos以及Linux)
ECMAScript 6 是JavaScript的下一代標(biāo)準(zhǔn),其目標(biāo),是使得JavaScript可以用來編寫復(fù)雜的應(yīng)用程序、函數(shù)庫和代碼的自動生成器(code generator)。2014-07-07