gpt4 book ai didi

node.js - 为什么 res.render() 不能与 req.params.id 一起使用?

转载 作者:太空宇宙 更新时间:2023-11-03 23:51:12 25 4
gpt4 key购买 nike

我一直在尝试在这个关于展示狗被收养的项目上进行这项工作,其他所有路线都工作得很好,但是这个/dog/:id 需要我的 mongoDB 数据库中的 id 不能与 res.render() 一起使用。

res.render() 正在其他没有 req.params.id 的路由上工作

正如您在下面的代码中看到的,带有此方法的行已被注释掉,这是我想要工作的行; res.send() 工作完美,但我不知道为什么 res.render() 不工作。谢谢!!!

router.route('/dog/:id')
.get(async (req, res) => {
const id = req.params.id
const adoption = await Adoption.findById(id)
.populate('category');
const categories = await Category.find();

/* res.render('default/dog', { adoption: adoption, categories: categories }); */
res.send(JSON.stringify(adoption));
});

顺便说一下,我使用带有express和handlebars的node.js来为每条路线渲染不同的 View 。

最佳答案

好吧,在尝试弄清楚为什么这不起作用之后,我发现了错误......它不是来自后端,而是一个未正确加载的脚本标记._。所以这只是前端的东西:

<script src="js/revolution.extension.actions.min.js"></script>

当不使用带有附加参数的路由时,它工作得很好,但如果你想让它在每个路由上工作(我的意思是,简单的路由和带有参数的路由),你必须在开头包含 / ,如下所示:

<script src="/js/revolution.extension.actions.min.js"></script>

而且成功了!!! 🥳

关于node.js - 为什么 res.render() 不能与 req.params.id 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59439920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com