真的要注意啦。
next 的呼叫時機
res.end
後不可以再呼叫 next()
,因為 response 已經送出去了。
用 INSERT 指令會拿到的 result:
1 2 3 4 5 6 7 8 9 10
| result: OkPacket { fieldCount: 0, affectedRows: 1, insertId: 4, serverStatus: 2, warningCount: 0, message: '', protocol41: true, changedRows: 0 }
|
資訊蠻多的,但最常用的應該會是 affectedRows
和 insertId
。
ejs 有分 = 和 - 的差別
=
會自動做文字跳脫,-
不會。
1 2
| <%= '<h1>safe</h1>' %> <%- '<h1>unsafe</h1>' %>
|
關於 flash 和 session
請務必記得這個順序:
1 2 3 4 5 6 7 8 9 10
| const flash = require('connect-flash'); const session = require('express-session');
app.use(session({ secret: 'keyboard cat', resave: false, saveUninitialized: true, }))
app.use(flash());
|
也不要為了測試而這樣寫:
1 2 3 4 5 6 7 8 9
| handleLogin: (req, res, next) => { const { username, password } = req.body; if (!username || !password) { req.flash('errorMessage', '請填滿所有欄位哦!'); console.log(req.flash('errorMessage')); return next(); } }
|