Tôi biết đây là câu hỏi cũ, nhưng gần đây tôi đã tự mình tìm hiểu thông điệp và mẫu flash, vì vậy tôi hy vọng điều này sẽ giúp những người khác trong hoàn cảnh của tôi. Xem xét trường hợp của Express 4, mô-đun flash nhanh và mẫu ejs, dưới đây là 2 tuyến đường và mẫu sẽ giúp bạn bắt đầu.
Đầu tiên tạo thông báo flash bạn muốn hiển thị. Ở đây, phương thức app.all()
sẽ là /express-flash
. Yêu cầu baseurl/express-flash
để tạo thông báo bằng cách sử dụng phương thức setter req.flash(type, message)
trước khi được chuyển hướng đến baseurl/
.
app.all('/express-flash', req, res) {
req.flash('success', 'This is a flash message using the express-flash module.');
res.redirect(301, '/');
}
Tiếp lập bản đồ thông điệp tới các mẫu trong phương pháp res.render()
của tuyến đường mục tiêu, baseurl/
. Ở đây phương thức getter req.flash(type)
trả về thông điệp hoặc tin nhắn khớp với loại, success
, được ánh xạ tới biến mẫu, expressFlash
.
app.get('/', req, res) {
res.render('index', {expressFlash: req.flash('success') });
}
Cuối cùng, hiển thị giá trị của expressFlash
, nếu nó tồn tại, trong index.ejs
.
<p> Express-Flash Demo </p>
<% if (expressFlash.length > 0) { %>
<p>Message: <%= expressFlash %> </p>
<% } %>
Sau đó, khởi động máy chủ và truy cập baseurl/express-flash
. Nó sẽ kích hoạt chuyển hướng đến baseurl/
bằng thông báo flash. Bây giờ làm mới baseurl/
và thấy thông báo biến mất.
Điều này không hoạt động với 'req.flash()' theo như tôi có thể nói. –