Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在expressJS中正确显示动态页面?_Javascript_Node.js_Rest_Loops_Express - Fatal编程技术网

Javascript 如何在expressJS中正确显示动态页面?

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.

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.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”停止执行并立即退出函数,不再执行。它简化了代码并提高了可读性。