如何使用express [重复]在nodejs中将对象从服务器端传递到客户端

Posted

技术标签:

【中文标题】如何使用express [重复]在nodejs中将对象从服务器端传递到客户端【英文标题】:How to pass object from server side to client side in nodejs with express [duplicate] 【发布时间】:2021-11-15 11:11:25 【问题描述】:

大家好,我目前已经实现了一个路由,该路由负责根据他在他的请求中收到的内容从我的服务器中检索信息,现在我有兴趣将我的对象传输到我视图中的客户端脚本。 我可以使用 res.render 传输对象吗?

直到现在我尝试使用“ejs”引擎移动对象,但在客户端我将它们读为:[object Object]...

我对这门语言真的很陌生,所以我很想被引导以最安全和最有效的方式将对象传输到我的客户端脚本,

谢谢

【问题讨论】:

【参考方案1】:

如果我对问题的理解正确,您从数据库或 API 获取数据,现在您想通过 ejs 在“视图”上使用该数据,对吗?

假设这是您要求的,这将取决于您希望如何使用该数据

    在 ejs 中表示它在服务器上呈现 在您的 JS 中,这意味着它将通过客户端访问。

如果你想在服务器端渲染它,你应该能够访问传递的对象到你的 EJS 模板(传递对象的过程是相同的,无论你采用什么路径)

这可以通过像往常一样简单地访问它来完成

或者,如果你想遍历数据,它会像

<% myObject.forEach(item => %>

<!-- print the item -->
<%- item.prop %>

<%)%>

现在,如果您想在页面 JS 中访问它(我假设是这种情况,因为您提到了 [object, object] 输出)

您首先需要在客户端 js 代码中对对象进行字符串化,因此您可以这样做

<script> 
const myData = <%- JSON.stringify(myObject) %>; 

//Should show the object data
console.log(myData) 
</script>

【讨论】:

以上是关于如何使用express [重复]在nodejs中将对象从服务器端传递到客户端的主要内容,如果未能解决你的问题,请参考以下文章

在 NodeJS/Express 中将带有其他键值参数的图像上传到 postman

如何在nodejs中将猫鼬模型数据作为数组返回[重复]

如何从不同的上传点在同一页面上上传多个文件。使用 nodejs express-fileupload

无法使用res.redirect()方法重定向express + NodeJS [重复]

使用异步和请求包(NodeJS / Express)进行多个 API 调用

NodeJS Express和ReactJS的CORS错误[重复]