express框架提供了一个Router方法,用于监听路由
// 命令行(windows*64)
npm install express --save
// router.js
const express = require("express");
// 定义路由
const router = express.Router();// 处理http://host:port/students/ 路由(GET方法)
router.get("/students/", function(req, res) {if(err) {return res.status(500).send("Server error.");} res.send("Hi ");
});// 处理http://host:port/students/ 路由(POST方法)
router.post("/students/", function(req, res) {if(err) {return res.status(500).send("Server error.");}res.send("handle Post");
});
// 注:node原生时 res.end()结束, 单身express封装了,使用其封装的方法(send),会自动添加res.end()
// app.js
const express=require("express");
const app = express();
const router = require("./router.js");// 挂载router
app.use(router);
body-parser: 用于解析POST请求提交的数据(https://github.com/expressjs/body-parser)
像mongoDB插入一条信息.
mongoDB参考 https://blog.csdn.net/piano9425/article/details/98473425
其中用到了模板引擎参考 https://blog.csdn.net/piano9425/article/details/98477516
1.安装其依赖: npm install --save body-parser
2.确保mongo数据库处于打开状态: 命令行输入 mongod
// html
<form action="/students/" method=”POST"><input type="text" name="name" value="哈哈哈"><button type="submit">提交</button>
</form>
// app.js
const express = require("express");
const app = express();
const router = express.Router();
const bodyParser = require("body-parser");
const mongoose = require("mongoose");app.engine("html", require("express-art-template")); // 模板引擎配置app.use(router); // 挂载路由// body-parser
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())router.get("/student/new", function(req,res) { // 监听get请求res.render("new.html", {msg:"Hi art-template"})
})router.post("/student/new", function(req,res) { // 监听post请求console.log(req.body);new Test(req.body).save(function(err) {if (err) {return res.status(500).send("Server error.");}res.send("插入成功! ");})
})
node app.js启动
进入mongo查看所有数据库
db查看当前正在使用的数据库(注:因为test无数据,故show dbs中无显示)
db.test.find() 查看数据(发现为空)
打开浏览器(输入url) -> 提交