我有一个很大的对象,需要将其传递给客户端脚本中的函数。我尝试使用JSON.stringify,但是这种方法遇到了一些问题- 主要与性能有关。是否可以在ejs中执行类似的操作?
app.get('/load', function(req, res) { var data = { layout:'interview/load', locals: { interview: '', data: someLargeObj } }; res.render('load', data); });
在我的客户端脚本中,我会将这个对象传递给类似这样的函数
<script type="text/javascript"> load(<%- data %>); // load is a function in a client script </script>
当我尝试这个我得到
<script type="text/javascript"> load(); </script>
要么
<script type="text/javascript"> load([Object object]); </script>
那是预期的行为。您的模板引擎正在尝试从对象创建一个字符串,该字符串会导致[Object object]。如果您真的想要传递这样的数据,我认为您通过对对象进行字符串化来做正确的事情。