個人學習用筆記:
路由的三種設置方式:
// ./router/router.js
// 首頁
router.get('/',function(req,res,next(true/false)){
res.send('首頁')
})
// 登錄頁
router.post('/login',function(req,res,next(true/false)){
console.log(req.body.xxx)
res.send('登錄頁')
})
// 注冊頁
router.get('/register',function(req,res,next(true/false)){
console.log(req.query.xxx)
res.send('注冊頁')
})
// 例子 https://localhost:3000/argu/params 傳參
router.get('/argu/:id',function(req,res,next(true/false)){ // 設參
console.log(req.params.myParams) // myParams 接參
res.send('params傳參')
})
具體使用的例子:
// app.js
var module = require('./router/module'); // 模塊引入
var session = require('express-session'); // 會話機制模塊
app.use('/module',module); // 模塊調用
app.use(
session({
secret: "隨機字符串",
cookie:{maxAge:20*60*1000}, // 存在時間
resave:true, // 重新儲存
saveUninitialized:true
})
)
// ./router/module.js
var express = require('express');
var router = express.Router();
var query = require('./datapool');
// '/'相對于app.js中的 /module/
router.get('/',function(req,res,next){
res.send('模塊內容');
})
// '/login'相對于app.js中的 /module/login
router.get('/login',function(req,res,next){
res.send('模塊內容'); // 打印
res.render('module',{ /* 傳遞的參數 */})
})
// '/submit'相對于app.js中的 /module/submit
router.post('/submit',function(req,res,next){
var title = req.body.title,content = req.body.content;
// 進行數據庫操作
var sqlCommand = `insert into node_user (title,content) values (${title},${content})`; // 輸入命令
query (sqlCommand,function(err,vals,fileds){ // vals字段,fileds字段的定義
console.log(vals)
})
})
module.exports = router;
// module.ejs
<form action="/module/submit" method="post">
<input type="text" name="title" />
<textarea name="content"></textarea>
<button type="submit">發(fā)表評論</button>
</form>