访问脚本标签上的EJS变量



我正在构建一个node.js应用程序,我想从服务器访问数组,我发现我无法访问脚本标签上的数组。

我搜索了解决方案并找到了JSON.stringify的解决方案,但它不起作用并返回错误。

服务器端使用express:

module.exports.index = async (req, res) => {
const coffepoints = await CoffePoint.find({});
res.render('coffepoints/index', { coffepoints })
}

客户端:

<script> 
const coffepoints = <% - JSON.stringify(campgrounds) %>
</script>

我应该怎么做才能访问脚本标签中的数组?

您在这里所做的实际上被称为includes,这是EJS中的部分。

<script> const coffepoints = <% - JSON.stringify(campgrounds) %></script>
^^^

您希望显示或输出一个EJS变量。因此,您将使用<%=标签。

<script> const coffepoints = <%= JSON.stringify(campgrounds) %></script>

您可以在这里查看EJS文档,其中包括EJS中所有可用的标记。

您可以简单地从express

使用<%= varName %>访问它
<script>
var myVal = <%= someVal %>
</script>

最新更新