编辑:这一半认为您在服务器端使用 EJS
1) 您可以将 ejs 变量值传递给 Javascript 变量
<% var test = 101; %> // variable created by ejs
<script>
var getTest = <%= test %>; //var test is now assigned to getTest which will only work on browsers
console.log(getTest); // successfully prints 101 on browser
</script>
只需创建一个 ejs 变量并将脚本标记内的值分配给 var getTest
前任: var getTest = <%= test %>;
2) 您不能将 javascript 变量值传递给 ejs 变量
是的,你不能:如果它在服务器上。
为什么:
EJS 模板将在 Javscript 开始执行之前呈现在服务器上(它将在浏览器上启动),因此无法返回服务器并要求对已发送到浏览器的页面进行一些先前的更改。
编辑:这一半认为您在客户端使用 EJS
3) 如果 EJS 在客户端,并将 EJS 变量传递给 javascript
上面的答案仍然有效,但您需要在 EJS 模板中加载脚本,而不是在模板呈现之前加载的脚本(在这种情况下,它当然不是有效的 javascript)。
4) 如果 EJS 在客户端,并将 javascript 变量传递给 EJS
很抱歉我自己没有尝试过这个案例,但我真的很期待有人回答这个案例