【问题标题】:How to access index.js res property from an html script tag如何从 html 脚本标签访问 index.js res 属性
【发布时间】:2021-07-27 17:34:35
【问题描述】:

我需要帮助解决以下访问 var 问题。

我有两个文件,一个 index.js 和一个 page.ejs,这需要我创建一个与本地服务器中的日期时间链接的计时器。

//index.js..
    router.get('/mieiNoleggi', function(req,res,next){
        res.render("landMieiNoleggi",{title: 'miei noleggi', utente_loggato : req.session.utente, noleggi : req.session.mieiNoleggi, rimanenti : timer})
      })



//page.ejs

  <span id="d"><%- rimanenti.t_d %></span>
                                  <span id="h"><%- rimanenti.t_h %></span>
                                  <span id="m"><%- rimanenti.t_m %></span>
                                  <span id="s"><%- rimanenti.t_s %></span>
                                  
                         

                                  <script>
                                    a = rimanenti.t_s;
                                    document.getElementById("d").textContent = a ;
                                  </script>  

我可以在 page.ejs 中使用表达式标签 访问 res 属性“rimanenti”(在 index.js 上),但如果我想在脚本标签中访问它,我不能。我需要这样做以激活计时器。有人知道如何做到这一点。请

【问题讨论】:

    标签: javascript html express


    【解决方案1】:

    &lt;script&gt; 标签中,您只能在字符串中使用 EJS 表达式标签。假设属性 rimanenti.t_s 已定义,您可以在 EJS 页面上尝试:

    <script>
      a = parseInt("<%= rimanenti.t_s %>");
      // use Number() or parseFloat() if rimanenti.t_s is not meant to be an int
    </script>
    

    【讨论】:

      【解决方案2】:

      您还需要在脚本标签中嵌入rimanenti.t_s 值。

      <script>
        a = <%= rimanenti.t_d %>;
        document.getElementById("d").textContent = a;
      </script>
      

      PS。尽量避免在 HTML 中使用 &lt;%- 而不是 &lt;%=
      第一个是将未转义的值传递给模板,这可能会在您的代码中产生一些安全问题。

      【讨论】:

        猜你喜欢
        • 2016-09-04
        • 2014-09-27
        • 1970-01-01
        • 2018-06-29
        • 2021-09-15
        • 2020-02-08
        • 2012-12-27
        • 2011-10-18
        • 2010-10-20
        相关资源
        最近更新 更多