从 <script> </script> 访问 <% %> 中定义的变量
Access variable defined in <% %> from <script> </script>
我将变量 title
传递到我的 html 文档并像这样访问它:
<h2><%= title %></h2>
如何访问 <script>
标签内的同一个变量?
我尝试了以下但它给了我一个错误:
<script>
console.log(title);
</script>
未捕获的引用错误:标题未定义
这是因为变量在不同的范围内吗?
编辑:
我想在此 post 中保持简单,但根据答案,我意识到我应该提到我的脚本使用了外部文件:
<script src="/javascripts/script.js"></script>
在这个脚本中,我使用 jQuery 来处理一些东西,我需要那里的变量 title
。
由于模板的性质,您无法访问渲染输出中的模板变量。但是,您可以 render 同名的 javascript 变量,该变量设置为模板变量的文字值。例如:
<script>
var title = <%- JSON.stringify(title) %>;
console.log(title);
</script>
你必须做这样的事情 shown is this answer。
<script>
var title = <%- JSON.stringify(title) %>;
</script>
How can I access the same variable inside the <script>
tag?
你不能。客户端上的程序 运行 无法访问服务器上程序 运行 中的变量。
由于您已经复制变量的值到页面的DOM中,您可以读取值它从那里开始。
console.log(document.querySelector('title').firstChild.data);
我是这样定义的-
<body>
<h2 style = "visibility:hidden" id = "events"><%= events %></h2>
<script>
function initMap (){
var list =document.getElementById('events').innerHTML ;
console.log("list = ", list)
}
</script>
我将变量 title
传递到我的 html 文档并像这样访问它:
<h2><%= title %></h2>
如何访问 <script>
标签内的同一个变量?
我尝试了以下但它给了我一个错误:
<script>
console.log(title);
</script>
未捕获的引用错误:标题未定义
这是因为变量在不同的范围内吗?
编辑: 我想在此 post 中保持简单,但根据答案,我意识到我应该提到我的脚本使用了外部文件:
<script src="/javascripts/script.js"></script>
在这个脚本中,我使用 jQuery 来处理一些东西,我需要那里的变量 title
。
由于模板的性质,您无法访问渲染输出中的模板变量。但是,您可以 render 同名的 javascript 变量,该变量设置为模板变量的文字值。例如:
<script>
var title = <%- JSON.stringify(title) %>;
console.log(title);
</script>
你必须做这样的事情 shown is this answer。
<script>
var title = <%- JSON.stringify(title) %>;
</script>
How can I access the same variable inside the
<script>
tag?
你不能。客户端上的程序 运行 无法访问服务器上程序 运行 中的变量。
由于您已经复制变量的值到页面的DOM中,您可以读取值它从那里开始。
console.log(document.querySelector('title').firstChild.data);
我是这样定义的-
<body>
<h2 style = "visibility:hidden" id = "events"><%= events %></h2>
<script>
function initMap (){
var list =document.getElementById('events').innerHTML ;
console.log("list = ", list)
}
</script>