如何解决如何从 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 举报,一经查实,本站将立刻删除。