如何在express JS中正确显示动态页面?
How to display dynamic pages correcly in expressJS?
我的 app.js 文件包含以下对象数组:
var people = [
{name: "Henrique Melo", username: "heenrique", email: "henrique.example@hotmail.com"},
{name: "João Pessoa", username: "jooao", email: "joao.example@hotmail.com"}
];
我正在尝试使用以下代码为每个人创建一个页面:
app.get("/:username", function(req, res) {
for (var i = 0; i < people.length; i++) {
if (people[i].username === req.params.username) {
res.render("description.ejs", { pageTitle : "Profile", user : people[i] });
} else {
res.status(404).json("User not found.");
}
}
});
数组中第一个人(“/heenrique”)的描述页面完美加载,但不会显示任何后续对象。当我键入(“/jooao” - 数组中第二个人的用户名)时,我在 else 语句中收到 "user not found" 消息。我创建的循环一定有问题。请阐明这个问题。
问题是循环必须继续下一个项目而不出现任何错误(当 people[0] 与请求的用户名不匹配时,第一次迭代发生错误)。一个工作方法是这样的。
app.get("/:username", function(req, res) {
for (var i = 0; i < people.length; i++) {
if (people[i].username === req.params.username) {
res.render("description.ejs", { pageTitle : "Profile", user : people[i] });
return;
}
}
res.status(404).json("User not found.");
});
我的 app.js 文件包含以下对象数组:
var people = [
{name: "Henrique Melo", username: "heenrique", email: "henrique.example@hotmail.com"},
{name: "João Pessoa", username: "jooao", email: "joao.example@hotmail.com"}
];
我正在尝试使用以下代码为每个人创建一个页面:
app.get("/:username", function(req, res) {
for (var i = 0; i < people.length; i++) {
if (people[i].username === req.params.username) {
res.render("description.ejs", { pageTitle : "Profile", user : people[i] });
} else {
res.status(404).json("User not found.");
}
}
});
数组中第一个人(“/heenrique”)的描述页面完美加载,但不会显示任何后续对象。当我键入(“/jooao” - 数组中第二个人的用户名)时,我在 else 语句中收到 "user not found" 消息。我创建的循环一定有问题。请阐明这个问题。
问题是循环必须继续下一个项目而不出现任何错误(当 people[0] 与请求的用户名不匹配时,第一次迭代发生错误)。一个工作方法是这样的。
app.get("/:username", function(req, res) {
for (var i = 0; i < people.length; i++) {
if (people[i].username === req.params.username) {
res.render("description.ejs", { pageTitle : "Profile", user : people[i] });
return;
}
}
res.status(404).json("User not found.");
});