6 javascript ejs node.js express flash-message
我希望能够使用Express和EJS向客户端发送消息.我看了一遍,但仍然找不到示例或教程.有人能告诉我闪烁消息的最简单方法吗?
谢谢!
我知道这是一个老问题,但我最近在尝试自己理解flash消息和模板时碰到了它,所以我希望这能帮助我处理其他人.考虑到Express 4,express-flash模块和ejs模板的情况,这里有2条路线和一个可以帮助您入门的模板.
首先生成要显示的Flash消息.这里的app.all()
方法映射到/express-flash
.请求在重定向到之前baseurl/express-flash
使用req.flash(type, message)
setter方法创建消息baseurl/
.
app.all('/express-flash', req, res ) {
req.flash('success', 'This is a flash message using the express-flash module.');
res.redirect(301, '/');
}
Run Code Online (Sandbox Code Playgroud)
接下来,将消息映射到res.render()
目标路径方法中的模板baseurl/
.这里req.flash(type)
getter方法返回与类型匹配的消息success
,这些消息映射到模板变量expressFlash
.
app.get('/', req, res ) {
res.render('index', {expressFlash: req.flash('success') });
}
Run Code Online (Sandbox Code Playgroud)
最后,显示expressFlash
(如果存在)的值index.ejs
.
<p> Express-Flash Demo </p>
<% if ( expressFlash.length > 0 ) { %>
<p>Message: <%= expressFlash %> </p>
<% } %>
Run Code Online (Sandbox Code Playgroud)
然后启动服务器并访问baseurl/express-flash
.它应该触发重定向到baseurl/
flash消息.现在刷新baseurl/
并看到消息消失.
<% if ( message ) { %>
<div class="flash"><%= message %></div>
<% } %>
Run Code Online (Sandbox Code Playgroud)
这是你想要的吗?你可以使用一些客户端JS让它淡出。jQuery 示例:
var message = $( '.message' );
if ( message.length ) {
setTimeout( function() {
message.fadeOut( 'slow' );
}, 5000 );
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
15604 次 |
最近记录: |