gpt4 book ai didi

node.js - 从数据库获取数据的问题, "render"函数错误

转载 作者:行者123 更新时间:2023-11-29 13:40:28 25 4
gpt4 key购买 nike

我对表达很陌生,我在 Postgres 中创建了一个数据库来提取有关博客文章的数据,以将信息放入 ejs 文件中。我收到错误:

 Cannot read property 'send' of undefined

我尝试用resreq 调用db.getPosts(),但是无法再次设置标题,返回错误。

我的 query.js 文件中有问题的代码块:

const getPosts = (_req, res) => {
pool.query('SELECT * FROM blog_posts', (error, results) => {
console.log(error);
// console.log(results.rows);
if (error) {
throw error
}
return res.send(results.rows );
})
}

send(results.rows)render('blog', {posts: results.rows}) 调用 res 给出完全相同的错误。

server.js 中应该使用该数据的函数如下:

app.get("/blog", function (req, res) {
const posts = db.getPosts();
res.render("blog", { posts: posts });
});

我做错了什么?我缺乏一些知识,这是肯定的,所以如果你能帮忙,请尽可能简单地向我解释一下。

此外,send() 函数是否是获取要在 server.js 中操作的数据的正确函数?许多教程建议使用 json() 但后来我并没有真正获得正确的数据格式,它只是显示在浏览器中。

非常感谢。

最佳答案

getPosts接收回调:

const getPosts = (callback) => {
pool.query('SELECT * FROM blog_posts', (error, results) => {
console.log(error);
// console.log(results.rows);
if (error) {
throw error
}
callback(results.rows);
})
}

用法类似于:

app.get("/blog", function (req, res) {
db.getPosts(function(rows) {
res.render("blog", {posts: rows})
});
});

关于node.js - 从数据库获取数据的问题, "render"函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56236187/

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