首页 > 解决方案 > (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>

标签: javascriptnode.jsmongodbexportejs

解决方案


如果你想在终端打印,你可以使用

<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>

推荐阅读