在<script>标记中访问MongoDB数据

时间:2019-04-26 12:41:57

标签: node.js ejs

我正在将MongoDB数据传递到我的EJS文件中。我可以使用HTML中的 <%%> 标记访问数据。我遇到的问题是我需要访问 <!-显示footer.ejs-> <页脚>     <%包含页脚%> <脚本异步延迟     src =“ https://maps.googleapis.com/maps/api/js?key=AIzaSyAftGHvJnejXQm5k1jiLiBRsRwm5SXqzm8&callback=initMap”>

预期结果:

可以在我的脚本中循环访问mongodata并在addMarker函数中使用

实际结果:: [

2 个答案:

答案 0 :(得分:0)

尝试一下。在您的app.js文件中,将results渲染为JSON字符串,如下所示。

res.render('homePage',{results: JSON.stringify(results)});

现在在您的homepage.ejs中使用此:

const locationResults = <%- results %>

请注意,这可能会在IDE中引起一些错误,例如“预期的表达式.js”。只是忽略它。 VS Code与ejs文件的兼容性可能

答案 1 :(得分:0)

我只是将变量写出来并在函数中使用

<script>
const locationResults = <%= JSON.stringify(results, null, '\t\) %>;
// Now you don't have to loop in the template, you can loop on the client
locationResults.forEach(location => addMarker({ coords: {lat: location.lat, lng: location.lng}, title: location.title }));
</script>