我试图将JS变量值放在同一页面的EJS变量中。
<script>
var i = 22;
document.getElementById('abcd').innerHTML = i;
<% ejsVar %> = i;
</script>
答案 0 :(得分:0)
这是不可能的,因为EJS模板是在页面发送到客户端之前 进行评估的。为了简单地表示过程,它是这样的:
服务器:运行Node.js->评估脚本->运行EJS(评估模板)->发送至浏览器->客户端:评估HTML并运行JavaScript代码
可以通过在渲染器对象上给值赋值给服务器端的EJS变量:
let ejs = require('ejs');
let scope = {};
// Assign a value to an EJS variable
scope.ejsVar = "Hello world!";
// Render the template using the scope
let html = ejs.render('Var: <%= ejsVar %>', scope); // "Var: Hello world!";
答案 1 :(得分:0)