Sails JS - 显示闪存消息在 Heroku(生产)上不起作用,但在开发中工作正常
Sails JS - Display flash message doesn't work on Heroku(production) but works fine in development
闪存消息仅在开发期间在我的本地计算机上有效...当我在 Heroku 上部署应用程序时,它不起作用。我一直在努力寻找答案,但找不到任何可以解决我问题的东西。
API/策略/闪存.js
module.exports = function(req, res, next) {
res.locals.flash = {};
if(!req.session.flash) return next();
res.locals.flash = _.clone(req.session.flash);
// clear flash
req.session.flash = {};
next();
};
api/controller/UserController.js(在创建操作中( - 成功提交表单后,重定向到主页并显示感谢消息。
res.redirect("/");
req.flash('signup-message', '<div class="thankyou-message-wrapper bg-success"><span class="glyphicon glyphicon-remove pull-right" aria-hidden="true"></span><span class="thankyou-message">Thank you for submitting the form!<br> Our administer will review your submission and publish soon.</span></div>');
view/main/index.ejs - 这就是我从用户控制器呈现消息的方式.js
<%- req.flash('signup-message') %>
有没有人知道为什么当我在 Heroku 上部署时没有显示闪存消息?
您需要
将策略添加到 routes.js 文件中,以便为主页启用策略。例如:
'/': {
view: 'homepage', policy: 'flash'
}
然后在您的用户控制器中,将您的消息添加到 session.flash:
req.session.flash = {
message : '<div class="thankyou-message-wrapper bg-success"><span class="glyphicon glyphicon-remove pull-right" aria-hidden="true"></span><span class="thankyou-message">Thank you for submitting the form!<br> Our administer will review your submission and publish soon.</span></div>'
}
最后,在您的主页中显示消息,首先检查消息是否存在,然后显示:
<% if(flash && flash.message) { %>
<%- flash.message %>
<% } %>
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 监视函数从服务返回不起作用,但作用域函数起作用
- 幻灯片滚动javascript不起作用
- 简单的javascript在Shopify中不起作用
- Recaptcha在IE7和IE8中不起作用
- Ember Data DS.Model's set函数不起作用
- JsFiddle上的鼠标事件不起作用
- 我的AngularJS表达式没有'不起作用
- 点击按钮输入不起作用
- 面向对象的Javascript代码在IE7中不起作用
- 分部隐藏在jquery中不起作用
- Jquery在生产和Heroku中不起作用,但在开发中运行良好
- 模态在IE9中不起作用 - 在打开开发人员工具时,它可以正常工作
- IE 开发人员工具断点不起作用
- 使用 PHP /MySQL JavaScript 创建一个简单的 Web 开发测试,但不起作用
- Sails JS - 显示闪存消息在 Heroku(生产)上不起作用,但在开发中工作正常
- AWS Javascript 开发工具包问题 - deleteObject 有效,但 deleteObject 不起作用
- 从部分视图重定向 - 已发布不起作用,但开发是可以的
- Gulp.watch-dosen;当我使用intellij思想进行开发时,它不起作用
- 为什么某些JS行为在开发中有效,但当我推送到Heroku时却不起作用