Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在客户端调用flash?_Javascript_Node.js_Connect Flash - Fatal编程技术网

Javascript 如何在客户端调用flash?

Javascript 如何在客户端调用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-

代码:

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-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');