我的快速应用程序出现问题,尝试为用户个人资料页面设置获取路线。用户信息显示在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错误的原因,该页面首先显示正确的用户名,但随后显示第二个错误。虽然不知道该怎么办。
如果您需要我发送更多代码,请告诉我,这是我在这里的第一篇文章!
答案 0 :(得分:0)
默认情况下,浏览器将向/favicon.ico
发送请求以在标签之间显示图标。为了防止这种情况,您可以包括一条单独的路由来处理请求。
app.get('/favicon.ico', (req, res) => res.status(204));
认为这可以解决您的null
错误。