nodejs使用body-parser解析表单数据
2017-10-13 18:53
615 查看
本例中运用到的框架包含有:express、html、body-parser、mongoose
前台运用了ejs模板引擎,后台nodejs用的express框架,数据库用mongoose操作mongodb,以及body-parser中间件解析表单数据,废话不多说,代码献上:register.html main code:
<div class="box"> <form action="/" method="POST"> <ul> <li> <input type="text" placeholder="用户名" id="username" name="username"> </li> <li> <input type="password" placeholder="密码" id="userPwd" name="userpwd"> </li> <li> <input type="password" placeholder="重新输入密码" id="reUserPwd"> </li> <li> <input type="submit" value="注册" onclick="return checkLogin();"> </li> </ul> </form> <script type="text/javascript"> //表单提交验证 function checkLogin(){ var aa=document.getElementById('username'); var bb=document.getElementById('userPwd'); var cc=document.getElementById('reUserPwd'); if(aa.value=='' || aa.value==null){ alert('请输入用户名!'); return false; }else if(bb.value=='' || bb.value==null){ alert('请设置密码!'); return false; }else if(cc.value=='' || cc.value==null){ alert('请再次输入密码!'); return false; }else if(cc.value != bb.value){ alert('两次密码不一致!'); return false; }else{ return true; } } </script> </div>
app.js main code:
// 模块依赖 var express=require("express"); var app=express(); var bodyParser = require('body-parser'); var path = require('path'); var http = require('http'); //静态文件设置 app.use(express.static(path.join(__dirname, 'public'))); //表单数据解析 app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); //视图设置 app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'html'); app.engine('html', require('ejs').renderFile); //路由配置 var register = require('./routes/register'); var login = require('./routes/login'); var user = require('./routes/user'); app.use("/", register); app.use("/", register); app.use("/login", login); app.use("/user", user); var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log('server start on 127.0.0.1:8081'); })
register.js main code:
var express=require("express"); var app = express(); var router = express.Router(); var user=require('../db/Shema'); router.get('/', function (req, res) { // console.log(req); res.render('register',{title: '登录页'}); }) router.post('/', function (req, res) { var users = req.body; //打印表单数据 console.log(users); var User = new user({ name: users.username, password: users.userpwd }); user.findOne({ name: users.username }, function(error, doc){ //添加容错措施 if(error){ console.log('系统查找错误!请重试!'); res.send("<script>alert('系统查找错误!请重试!');location.href='/register';</script>"); }else if(doc){ console.log("用户已存在!"); res.send("<script>alert('用户已存在!');location.href='/register';</script>"); }else{ user.create({ name: users.username,password: users.userpwd }, function(err, doc1){ if(err){ console.log('系统数据保存错误!请重试!'); res.send("<script>alert('系统数据保存错误!请重试!');location.href='/register';</script>"); }else{ console.log('注册成功!'); res.send("<script>alert('注册成功!');location.href='/user';</script>"); } }) } }) }) module.exports = router;
这里附加一个数据schema的代码:
Schema.js main code:
var mongoose = require('mongoose'); var DB_CONN_STR='mongodb://localhost:27017/xixi'; mongoose.connect(DB_CONN_STR); mongoose.connection.on('connected', function(){ console.log('mongoose connection open to ' + DB_CONN_STR); }); mongoose.connection.on('error', function(err){ console.log('mongoose connection error ' + err); }) mongoose.connection.on('disconnected', function(){ console.log('mongoose connection disconnected.'); }) var userSchema = new mongoose.Schema({ name: { type: String, required: true }, password: String, admin: { type:Boolean, default: false } }); var User = mongoose.model('User', userSchema); module.exports = User;
运行一下看看结果,运行服务器,走起:
前台开始注册用户:
注册成功:
相关文章推荐
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- 使用Xml类下的newPullParser ()、newSerializer ()方法,解析xml数据和序列化生成xml数据
- 使用nodejs实现对浏览器上传excel并解析数据的实现
- OkHttp框架从入门到放弃,解析图片使用Picasso裁剪,二次封装OkHttpUtils,Post提交表单数据
- node.js 使用 body-parser模块时,传输过来的数据出现undefind的情况
- HTML5第8次课堂笔记( 模拟form表单提交数据,xml的解析,jQuery的Ajax方法使用, mui的ajax)
- 灵活组装Json的数据使用Gson的JsonParser和JsonReader解析Json详解例子
- Nodejs 进阶:Express 常用中间件 body-parser 实现解析
- Nodejs中Express 常用中间件 body-parser 实现解析
- 使用万能表单解析程序将表单数据封装成List<Map>
- nodejs数据接收body-parser中间件
- Nodejs 进阶:Express 常用中间件 body-parser 实现解析
- nodejs 使用cron-parser 解析cron 时间
- Nodejs 进阶:Express 常用中间件 body-parser 实现解析
- nodejs使用multiparty模块实现文件上传(另附express.bodyParser()的说明)
- nodejs body-parser 解析post数据
- 使用post方式提交表单如何获取图片数据及其他文本参数[NodeJS]
- Android - 使用XmlPullParser解析从服务器得到的Xml数据
- nodejs body-parser 解析post数据实例