node.js - 在 nodejs 中的 app.post 到 app.get 之间传递数据
问题描述
我对 nodejs 和 express 还很陌生。我正在使用 nodejs 和车把来创建一个简单的后端 CRUD 应用程序。现在我被困在如何将值从我在车把中创建的表单传递到我的 index.js 文件中的 app.get 函数,所以在我的 app.get 函数中,我可以使用该值进行数据库查询。完成查询后,我想使用 app.get 显示结果并将其呈现到网页。
这是我的车把代码:
<section id="main" class="wrapper">
<div id="view" class="container">
<section id="main" class="wrapper">
<div id="class" class="container">
<div class="card-body">
<form action="/getid/submit" method="POST">
<div class="form-group">
<label for="id"></label>
<input type="text" class="form-control" id="id" name="id"
placeholder="Enter ID">
</div>
<button type="submit" class="btn btn-primary">Enter ID</button>
</form>
</div>
</div>
</section>
这是 index.js 中的 post 函数
app.post('/getid/submit',(req,res)=>{
const id = req.body.id;
console.log(id);
res.redirect('page1');
});
这是 app.get 函数:
app.get('/view/id',(req,res)=>{
//id = ?
var sql = `SELECT * FROM class WHERE Id =${id}`;
db.query(sql,function (err,result){
if(err) throw error;
res.render('page2',{title: 'test', items: rows})
});
});
我的主要问题是如何将我从 app.post 表单获得的值传递给我的 app.get 函数,以便我可以使用该 ID 运行查询并将值呈现给网页。先感谢您。
解决方案
id
您需要实现的是在请求参数中。所以你应该尝试:
app.get('/view/:id', (req, res) => {
//id = ?
const id = req.params.id
var sql = `SELECT * FROM class WHERE Id =${id}`;
db.query(sql, function (err, result) {
if (err) throw error;
res.render('page2', { title: 'test', items: rows })
});
});
推荐阅读
- r - 如何应用 actionButton 来更新我在 R 中的 Shiny?
- javascript - 使用 .then() 嵌套异步函数
- javascript - Await 仅在异步函数 Canvas Discord JS 中有效
- php - 如何从 PHP 中删除 .txt 中的多个空格
- python - 上传数据库表时出错 - Python mysql
- c++ - 使用 Lambda 函数转换不做我想要的 C++
- graph - 如何在 Python 中可视化 torch_geometric 图?
- python - python:如何轻松显示闪烁的实心圆圈
- scala - 使用 sbt 将 scala 项目发布到 azure feed:无法找到凭据
- php - CTF php 有没有办法知道这个变量是什么?