温馨提示:这篇文章已超过245天没有更新,请注意相关的内容是否还可用!
EJS(Embedded JavaScript Templating)是一种用于在网页中嵌入JavaScript代码的模板引擎。它允许我们在网页中使用JavaScript语法来动态生成HTML内容。当需要在EJS模板中传递JSON数据时,我们可以将JSON数据作为变量传递给模板,然后在模板中使用该变量来访问JSON数据的属性。
下面是一个示例代码,展示了如何在EJS模板中传递JSON数据:
我们需要在服务器端将JSON数据传递给模板。假设我们有一个名为"person"的JSON对象,其中包含了姓名和年龄的属性:
const express = require('express');
const app = express();
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
const person = {
name: 'John',
age: 30
};
res.render('index', { person: person });
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
在上述代码中,我们使用Express框架来创建一个简单的服务器。在服务器的根路径上,我们将"person"对象传递给名为"index"的EJS模板。
接下来,我们需要在EJS模板中使用传递的JSON数据。在模板中,我们可以使用"<%= %>"标签来输出变量的值。在这个例子中,我们可以使用"person.name"和"person.age"来访问JSON对象的属性:
<!DOCTYPE html>
<html>
<head>
<title>EJS JSON Example</title>
</head>
<body>
<h1>Welcome <%= person.name %>!</h1>
<p>You are <%= person.age %> years old.</p>
</body>
</html>
在上述模板中,我们使用"<%= person.name %>"来输出"person"对象的"name"属性,并使用"<%= person.age %>"来输出"person"对象的"age"属性。
当浏览器访问服务器的根路径时,EJS模板将会被渲染,并将JSON数据动态地插入到HTML中。最终的输出将会是一个包含了传递的JSON数据的网页。