使用Express和Form Input Submit在Node.js上执行查询



如果之前有人问过这个问题,我很抱歉,如果有,请把我送到那个方向。

我有一个使用express的node.js应用程序。我想点击客户端的一个按钮(表单输入提交(,让它在服务器端运行查询。我不是在寻找要发布或放置的查询,我希望它执行一个生成csv文件的Neo4j查询。查询不是问题,查询是有效的,问题是点击客户端的按钮(表单输入提交(在服务器端运行查询。以下是我尝试过的但不起作用的。。。

索引.ejs

<form method="post" action="/barrelsankeycsv">
<input class="button" type="submit" value="RunQueryGenCSV">
</form>

server.js

app.post('/barrelsankeycsv', async (req, res) => {
console.log(req.body);
try {
const result = await session.run('run neo4j query that generates csv file');
if (result) {
res.redirect('/');
session.close();
}
} catch (e) {
console.log("Something went wrong", e);
};
});

我做错了什么?我也试过app.all,但也不起作用。如果有更好的方法的话,我洗耳恭听。

非常感谢您的帮助!

  1. 使用cURL或Postman向express服务器发送POST请求。如果这有效的话,问题就在前端。但我认为index.ejs在我看来没有问题。

  2. 在路由之前添加以下代码:

app.use(express.urlencoded({ extended: true }))

最新更新