nodejs中实现修改用户路由功能

经过前面几次的学习,已经可以做下小功能,今天要实现的是修改用户路由。

一、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.updateUser=function(req,res){
  User.findOne({_id:req.session.user})
  .exec(function(err,user){
    user.set('email',req.body.email);
    user.set('color',req.body.color);
    user.save(function(err){
      if(err){
        res.sessor.error=err;
      }else{
        req.session.msg='User Updated. ';
      }
      res.redirect('/user');
    });
  });
};

三、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" />
 <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/update',users.updateUser);

五、页面显示效果

总结

以上所述是小编给大家介绍的nodejs中实现修改用户路由功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • 轻松创建nodejs服务器(4):路由

    服务器需要根据不同的URL或请求来执行不一样的操作,我们可以通过路由来实现这个步骤. 第一步我们需要先解析出请求URL的路径,我们引入url模块. 我们来给onRequest()函数加上一些逻辑,用来找出浏览器请求的URL路径: 复制代码 代码如下: var http = require("http"); var url = require("url"); function start() {  function onRequest(request, respons

  • nodejs中实现路由功能

    初学Node,发现了与自己之前的观点完全不同的场面--你眼中的JavaScript,是干什么用的呢?特效?or 只是与客户端的交互?可以说,JavaScript最早是运行在浏览器中的,然而你要这样想,浏览器只是你提供了一个上下文(context),它定义了 使用JavaScript可以做什么,这里可以想成类似的一个企业,企业定义了你可以在这里做什么,但是并没有说太多关于JavaScript语言本身可 以做什么.事实上,作为一门完整的语言,JavaScript可以使用在不同的上下文中,体现出不同的

  • nodejs之请求路由概述

    通常来说对于不同的URL请求,服务器应该有不同的反应.我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码.我们需要的所有数据都会包含在request对象中,该对象作为onRequest()回调函数的第一个参数传递.为了解析这些数据,需要调用额外的模块,分别是url和querystring模块.   URL:This  module has utilities for URL resolution and parsing. Call requir

  • 详解NodeJS框架express的路径映射(路由)功能及控制

    我 们知道Express是一个基于NodeJS的非常优秀的服务端开发框架,本篇CSSer将提供express框架的route和route control章节,route实现了客户端请求的URL的路径映射功能,暂且译为路由或URL映射吧.如果你还是不太理解,相信看完本篇文章将会有些收 获的. 路由(URL映射) Express利用HTTP动作提供了有意义并富有表现力的URL映射API,例如我们可能想让用户帐号的URL看起来像"/user/12"的样子,下面的例子就能实现这样的路由,其中与

  • NodeJS仿WebApi路由示例

    用过WebApi或Asp.net MVC的都知道微软的路由设计得非常好,十分方便,也十分灵活.虽然个人看来是有的太灵活了,team内的不同开发很容易使用不同的路由方式而显得有点混乱. 不过这不是重点,我在做Node项目的时候就觉得不停的用use(...)来指定路由路径很烦人,所以用Typescript写了这个基于Koa和Koa-router的路由插件,可以简单实现一些类似WebApi的路由功能. 目标是和WebApi一样: 1.加入的controller会自动加入路由. 2.也可以通过path(

  • nodejs中实现修改用户路由功能

    经过前面几次的学习,已经可以做下小功能,今天要实现的是修改用户路由. 一.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

  • VuePress 中如何增加用户登录功能

    VuePress是什么? 先让我们看看 VuePress能干什么?有什么效果? 很像vue官网的文档页面,因为vuePress就是尤大大的一个力作 vuePress官网介绍介绍的很详细,这里只做搭建VuePress项目教程 在 VuePress 中增加用户登录 VuePress 是 Vuejs 官方提供的一个快速建设文档站点的工具,在简单配置好功能后,需要做的事情就剩下写好一个个 Markdown 文档. 因为 VuePress 提供了可以在 Markdown 中使用 Vue 的能力,所以有时候

  • 初学node.js-nodejs中实现删除用户路由

    一.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_c

  • 初学node.js中实现删除用户路由

    一.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_c

  • vant中如何修改用户的头像

    目录 vant修改用户的头像 vant实现纯客户端用户头像上传预览 vant修改用户的头像 我们的项目中经常会遇到用户个人信息的修改,当然用的组件就是 vant 中的 van-uploader 组件, 但是这个组的是有一个回显功能的, 它的样式不太符合我们, 更改用户头像的场景 对比一下 van-uploader 的本来的样式是这样的 而我们需要修改用户头像的样式是这样的 我们的需求就是 上传完图像之后, 再次点击头像, 还可以再次上传一个新的头像, 这样的需求, van-uploader 中的

  • NTRights 命令行(DOS)修改用户权限功能详细说明

    此工具系微软官方工具,但系统不自带,需下载 微软官方下载"Windows Server 2003 Resource Kit Tools"安装包 安装后需从%ProgramFiles%\Windows Resource Kits\Tools中把NTRights复制到系统中 本站下载: nright.rar 详解用法:(参数说明系LZ-MyST原创,除登录权限部分) 复制代码 代码如下: 用法:-u xxx xxx为用户/组 -m \\xxx 对远程主机进行操作(默认本地机器) -e xx

  • ASP.NET Core中的Razor页面实现路由功能

    在服务器端 Web 应用程序框架中,其中非常重要的设计是开发人员如何将URL与服务器上的资源进行匹配,以便正确的处理请求.最简单的方法是将 URL 映射到磁盘上的物理文件,在 Razor 页面框架中,ASP.NET团队就是这样实现的. 关于 Razor 页面框架如何将 URL 与文件相匹配,有一些规则您必须了解,以及如何根据需要自定义规则改变输出的结果.如果您将 Razor 页面与 Web Form 框架进行比较,您还需要了解取代的 Ur l参数以及在URL中传递数据的机制. 规则一,Razor

  • AngularJS自定义插件实现网站用户引导功能示例

    本文实例讲述了AngularJS自定义插件实现网站用户引导功能.分享给大家供大家参考,具体如下: 最近由于项目进行了较大的改版,为了让用户能够适应这次新的改版,因此在系统中引入了"用户引导"功能,对于初次进入系统的用户一些简单的使用培训training.对于大多数网站来说,这是一个很常见的功能.所以在开发这个任务之前,博主尝试将其抽象化,独立于现有系统的业务逻辑,将其封装为一个通用的插件,使得代码更容易扩展和维护. 无图无真相,先上图: 关于这款trainning插件的使用很简单,它采

  • nodejs中实现用户注册路由功能

    经过前面几次的学习,已经可以做下小功能,今天要实现的是用户注册路由. 一.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

  • nodejs实现用户登录路由功能

    经过前面几次的学习,已经可以做下小功能,今天要实现的事用户登录路由. 一.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

随机推荐