[英]Is it possible to pass data from node js to frontend js and not to html?
我正在尝试将数据(数组)从 node.js 后端传递到前端 JS 以在那里处理它。 我不想将数据直接传递给后端服务的 html 文件,因为我想保持它干净并且不想在那里做任何循环等。
我的后端部分如下所示:
app.get("/search-db", function (req, res) {
const term = req.query.term;
findInDb(term);
res.redirect('/search', {
searchResults: searchResults,
});
})
async function findInDb(query) {
const collection = await getDbCollection();
await collection.find().forEach((item) => {
console.log(item.artist);
if (item.artist.includes(query) || item.name.includes(query)) {
searchResults.push(item);
}
})
}
这是可能的还是我必须弄乱我的 html 并在那里使用循环来处理传递的结果?
您的 web 页面可以通过fetch使用 AJAX 向您的服务器发出/search-db
API 请求。 您的服务器路由处理程序应该从数据库中获取结果,然后调用res.send()将 JSON 响应发送回客户端,而不是res.redirect()将客户端重定向到新页面。
示例:如何在 Node.js 中使用 Express.js 创建 REST API
此外,不相关的是,您的findInDb
function 应该返回搜索结果,而不是将它们放在全局变量( searchResults
)中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.