javascript - (index):45 Uncaught ReferenceError: data is not defined at (index):45
问题描述
我在 node.js 工作。我的基本目标是将对象从服务器 js 端传递到客户端 js 我试过这个
在服务器端路由
router.get("/" , function(req,res){
var data = {name : "gohar" ,
age : "21"}
res.render("landing" , {data : data})
});
在 EJS
<h1>
This is landing page <%= data.name %>
</h1>
<script type="text/javascript">
console.log(data)
</script>
解决方案
如果你想在终端打印,你可以使用
<script type="text/javascript">
<% console.log(JSON.stringify(data) ) %>
</script>
如果要在浏览器控制台中打印,可以使用
<script type="text/javascript">
console.log(<%- JSON.stringify(data) %>)
</script>
您在 IDE 中遇到 ejs 括号的错误是由于您将 mimetype 提到为 text/javascript。尽管该解决方案可行,但要删除错误,您应该更改类型,但您将无法在浏览器中进行控制台登录。
<script type="text/ejs">
<% console.log(JSON.stringify(data)) %>
</script>
推荐阅读
- python - 如何将值从列表中取出到python中的数组?
- shell - 如何在 groovy 函数中将“Json 字符串”从 groovy 变量传递到 shell 变量
- git - git:移动和更改 HEAD 之间的区别
- ssh - 为什么以及如何防止电子邮件过早发送?
- c# - C# 从类对象创建 xml 文件
- azure-devops - 定义路径筛选器时触发带有注释的 Azure DevOps 管道
- android - How to fix Resources$NotFoundException: String resource in Kotlin without context?
- python - 如何用字典中的查找值替换 pandas DataFrame 列?
- javascript - 如何在 react/js 的表格中将数组显示为单列
- c# - Elasticsearch 低级客户端 - 如何将 C# 变量添加到搜索查询中