继07之后, 继续整合,因为express的post 需要body-parser
所以需要引入
cnpm i body-parser --save-dev
01.创建form页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="lib/jquery.min.js"></script>
</head>
<body>
<form>
姓名:<input type="text" name="name">
年龄:<input type="text" name="age">
密码:<input type="text" name="pwd">
<input type="button" id="btn" value="提交" >
</form>
<script>
$("#btn").click(function(){
alert("bb");
$.ajax({
url:"/insert",
type:"post",
data:$("form").serialize(),
success:function(data){
if(data==1){
alert("保存成功");
}else{
alert("保存失败");
}
}
});
});
</script>
</body>
</html>
02创建server.js (服务)
var express = require("express");
var bodyParser = require("body-parser");
var db = require("./module/db.js");
var app = express();
app.use(express.static("./public"));
/**
* bodyParser.json()和bodyParser.urlencoded()区别:
* 一个接受form请求,一个接受json请求,解析的规则不一样
*/
app.use(bodyParser.urlencoded({extended:false}));
app.post("/insert",function(req,res){
console.log(req.body);
db.insert("worker",{
name:req.body.name,
age:req.body.age,
pwd:req.body.pwd
},function(err,results){
if(err){
res.json("-1");
}else{
res.json("1");
}
});
});
app.listen(80);
03.db.js 封装了查询和插入操作(07有讲到)
var mongodb = require("mongodb");
var MongoClient = mongodb.MongoClient;
function _connect(callback){
var url = "mongodb://localhost:27017/company";
MongoClient.connect(url,function(err,db){
callback(err,db);
db.close();
})
}
exports.find = function(collectionName,json,callback){
_connect(function(err,db){
db.collection(collectionName).find(query).toArray(function(err,results){
callback(err,results);
});
})
}
exports.insert = function(collectionName,json,callback){
_connect(function(err,db){
db.collection(collectionName).insertOne(json,function(err,results){
callback(err,results);
})
});
}