即使EJS模板工作正常,也无法读取null属性

时间:2019-12-04 05:41:51

标签: javascript mongodb express

我的快速应用程序出现问题,尝试为用户个人资料页面设置获取路线。用户信息显示在EJS文件中,但仍然出现错误:

 1| 
    2| 
 >> 3| <p><%= user.posts %></p>
    4| 
    5| 
    6| 

Cannot read property 'posts' of null

我的用户获得路线:

router.get("/:username", (req, res)=>{
    // Find user from request
    
    var user = req.params.username;
    console.log(user);
    User.findOne({username: user}).populate("posts").exec((err, foundUser)=>{
        if(err){
            console.log(err);
        } else {
            //render user profile template
            res.render("user/show", {user:foundUser});
        }
    });
});

当我console.log(req.params.username)时,我得到两个用户名,一个是我要查找的用户名,另一个是“ favicon.ico”。我在想这就是为什么存在null错误的原因,该页面首先显示正确的用户名,但随后显示第二个错误。虽然不知道该怎么办。

如果您需要我发送更多代码,请告诉我,这是我在这里的第一篇文章!

1 个答案:

答案 0 :(得分:0)

默认情况下,浏览器将向/favicon.ico发送请求以在标签之间显示图标。为了防止这种情况,您可以包括一条单独的路由来处理请求。

app.get('/favicon.ico', (req, res) => res.status(204));

认为这可以解决您的null错误。