我在node.js应用程序中使用ejs渲染页面时遇到困难。
这是我设置渲染的方式:
// index page
app.get('/', function(req, res) {
res.render('pages/index');
});
// team page
app.get('/teams', (req, res) => {
const teams = {
nhl: data
};
res.render('pages/teams', teams);
});
app.get('/pages/team/:name', (req, res) => {
const team = {
nhl: data
};
res.render('pages/team', {
name: [req.params.name],
division: team.abbreviation,
team
});
});
我的索引和团队页面很好,就目前而言。问题是,当我尝试为每个团队提供一些信息的自己的页面时,我无法从api获取所需的信息。在这种情况下,我可以这样正确地获得团队的名称:name: [req.params.name]
,但是例如,缩写只是给我undefined
。
这是我的team.ejs文件:
<!DOCTYPE html>
<html lang="en">
<head>
<% include ../partials/head %>
</head>
<body class="container">
<header>
<% include ../partials/header %>
</header>
<main>
<div class="row">
<div class="col-sm-8">
<div class="jumbotron">
<h1><%= name %></h1>
<p>Done using node.js + ejs template engine</p>
</div>
</div>
<div>
<h2></h2>
<p><%= division %></p>
<hr>
</div>
</div>
</main>
<footer>
<% include ../partials/footer %>
</footer>
</body>
</html>
这是我正在使用的api:https://statsapi.web.nhl.com/api/v1/teams