微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 html 脚本标签访问 index.js res 属性

如何解决如何从 html 脚本标签访问 index.js res 属性

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

我有两个文件一个 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 上),但是如果我想在脚本标签中访问它,我不能。我需要这样做来激活计时器。有人知道如何做到这一点。请

解决方法

<script> 标签中,您只能在字符串中使用 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>
,

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

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

附注。尽量避免在 HTML 中使用 <%- 而不是 <%=
第一个是将未转义的值传递到模板中,这可能会给您的代码带来一些安全问题。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。