javascript - 我可以在 EJS 中渲染多个源吗

标签 javascript node.js express ejs templating

我正在尝试使用来自 2 个不同来源的数据,但使用 EJS、JS 和 Node 将它们呈现在同一个 HTML 页面上。 这就是我正在尝试的..

app.set('view engine', 'ejs');
app.get('/', function(req, res) {
  res.render('index.ejs', { data: JSONdata })
  res.render('index.ejs', {data2: arrayData})
});

data 是一个 JSON,data2 是一个数组。我试图为这个确切的过程查找正确的语法,但似乎找不到任何东西。

非常感谢。

最佳答案

您不能多次为单个请求呈现。

但您可以简单地组合您的 JSON 和数组数据并将其字符串化。

App.set('view engine', 'ejs');
app.get('/', function(req, res) {
  res.render('index.ejs', JSON.stringify({data2: arrayData, data1: JSONdata}))
});

或者简单地将两个变量分配到一个对象中并将其解析为渲染函数

var returnVals= JSON.stringify({data2: arrayData, data1: jsonData}); 

关于javascript - 我可以在 EJS 中渲染多个源吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37287352/

相关文章:

javascript - 从数组javascript中删除

typescript - 模块扩充中不允许导出和导出分配

javascript - 如何在 AngularJS 中的独立组件之间建立通信

javascript - 单击按钮以显示索引警报

javascript - Gulp mocha Istanbul 尔 免费获得 100%

node.js - nodejs 异步列出或删除所有文件和目录,仅传递起始路径

node.js - 我应该在哪里安装/保存node_modules?

javascript - Node.js ejs - 如何在 ejs 表达式中使用变量?

javascript - 如何在 node + express 中重新运行请求处理程序?

javascript - 这里只有三元运算符起作用