Javascript 如何在expressJS中正确显示动态页面?
My app.js文件包含以下对象数组:Javascript 如何在expressJS中正确显示动态页面?,javascript,node.js,rest,loops,express,Javascript,Node.js,Rest,Loops,Express,My 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.
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.");
}
}
});
app.get(“/:username”),函数(req,res){
for(var i=0;i
数组中第一个人(“/heenrique”)的描述页面可以完美加载,但不会显示以下任何对象。当我键入(“/jooao”-数组中第二个人的用户名)时,我在else语句中得到“user not found”消息。我创建的循环肯定有问题。请解释一下这个问题。问题是循环必须继续进行下一个项目,而不会出现任何错误(当用户[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.get(“/:username”),函数(req,res){
for(var i=0;i
成功了,谢谢!“回归”扮演什么角色?另外,res.status(404).json(“用户未找到”)怎么可能不会在对“/:username”的每个get请求中执行?“return”停止执行并立即退出函数,不再执行。它简化了代码并提高了可读性。