Javascript 如何在客户端调用flash?
代码: login.ejsJavascript 如何在客户端调用flash?,javascript,node.js,connect-flash,Javascript,Node.js,Connect Flash,代码: login.ejs <script> req.flash('success_msg', 'You have logged in'); </script> 请求flash(“成功消息”,“您已登录”); header.ejs <div class = "alertMessage"> <% if (success_msg != false){ %> <span class="alert alert-
<script>
req.flash('success_msg', 'You have logged in');
</script>
请求flash(“成功消息”,“您已登录”);
header.ejs
<div class = "alertMessage">
<% if (success_msg != false){ %>
<span class="alert alert-success containerMargins">
<%= success_msg %>
</span>
<% } %>
<% if (error_msg != false){ %>
<span class="alert alert-danger containerMargins">
<%= error_msg %>
</span>
<% } %>
</div>
情况: 这与在服务器端使用flash和在客户端显示消息无关:它已经非常适合我了 这与从客户端调用flash或使用其他库从客户端复制相同的行为有关
问题: 当然,我展示的代码在客户端不起作用,我该怎么做才能在客户端复制这种行为 闪存是会话中用于存储消息的特殊区域。消息会写入闪存,并在显示给用户后清除。flash通常与重定向结合使用,以确保消息可用于要呈现的下一页 因此,您需要以下代码:
首先选择选项1(例如localStorage或cookie)。剩下的应该是微不足道的——原始模块即将实现(但具体取决于您所做的选择)。以下是我使用的解决方案:
<div class = "alertMessage">
<span class="alert alert-success containerMargins" id="successDiv"></span>
<span class="alert alert-danger containerMargins" id="errorDiv"></span>
</div>
<script>
if (localStorage.getItem("success_msg_local") != null) {
document.getElementById("successDiv").innerText = localStorage.getItem("success_msg_local");
document.getElementById("successDiv").style.display = "inline-block";
window.localStorage.clear();
}
else if (localStorage.getItem("error_msg_local") != null) {
document.getElementById("errorDiv").innerText = localStorage.getItem("error_msg_local");
document.getElementById("errorDiv").style.display = "inline-block";
window.localStorage.clear();
}
</script>
什么是“闪光”?你到底在用什么库?函数应该做什么?(我有一个模糊的想法,但一些细节可能会有所不同)。@str这是connect flash。这是一个npm模块。connect-flash已经有四年没有更新了。“你确定要用这么旧的软件包吗?”昆汀我编辑了我的问题。它在alertMessage分区内显示了一条错误消息。您能否提供一个与我当前情况相关的代码的答案?谢谢@Coder1000-不,正如我在回答中所说:这是特定于您选择的存储机制。我更新了我的回答,以显示我正在使用的所有代码。我可以用工作代码回答我自己的问题,但这不是重点,是吗?@Coder1000-这是服务器端代码。您尚未选择客户端存储机制。这个答案解释了你需要做什么,它指向你的参考文献来帮助你。Stackoverflow不是一个代码编写服务,我不会给你写一个库。我总是尝试在我的答案或问题中加入代码,我觉得它可以帮助每个人更好更快地理解。但我有分歧,我们只是对本质上相同的事情有不同的理解:)谢谢你的回答!
localStorage.setItem('success_msg_local', 'You have logged in');