gpt4 book ai didi

javascript - Sails JS - 显示闪存消息在 Heroku(生产)上不起作用,但在开发中工作正常

转载 作者:太空宇宙 更新时间:2023-11-04 02:30:23 25 4
gpt4 key购买 nike

闪现消息仅在开发过程中在我的本地计算机上有效...当我在 Heroku 上部署应用程序时它不起作用。我一直在尝试寻找答案,但找不到任何可以解决我的问题的东西。

api/policies/flash.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 - 这是我从 UserController.js 渲染消息的方式

<%- req.flash('signup-message') %>

有人知道为什么我在 Heroku 上部署时没有显示闪现消息吗?

最佳答案

您需要将策略添加到routes.js 文件中才能为主页启用策略。例如:

 '/': {
view: 'homepage', policy: 'flash'
}

然后在您的 UserController 中,将消息添加到 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 %>
<% } %>

关于javascript - Sails JS - 显示闪存消息在 Heroku(生产)上不起作用,但在开发中工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27240151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com