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) -> 提交