我是 NodeJs 新手,我想通过 id 获取一些信息。这是我的代码
Controller :
router.get('/machine', function (req, res) {
Machine.getmachine(req.body, function (err, row) {
if (err) {
res.status(400).json(err);
}
else {
res.json(row);
}
});
});
SQL 部分:
getmachine: function (Machine, callback) {
return db.query('SELECT * from machine WHERE id=?', [Machine.id], callback);
},
我尝试使用 Postman 进行测试,结果只得到 {}
。
请您告诉我为什么我没有得到我想要的东西?
最佳答案
尝试这样的方法,而不是读取正文数据,您应该将其读取为查询。否则,如果您作为 params 传递,则应使用 req.params('id') 来获取 id。
router.get('/machine', function (req, res) {
Machine.getmachine(req.query.id, function (err, row) {
if (err) {
res.status(400).json(err);
}
else {
res.json(row);
}
});
});
编辑
根据您在评论中提供的网址,您可以尝试这样的操作。
router.get('/machine:id', function (req, res) {
Machine.getmachine(req.params.id, function (err, row) {
if (err) {
res.status(400).json(err);
}
else {
res.json(row);
}
});
});
如果您设法将 ID 获取到后端,那么问题一定出在您的 sql 查询中。尝试这样的事情
getmachine: function (Id, callback) {
return db.query('SELECT * from machine WHERE id=?', Id, callback);
}
关于mysql - 使用NodeJS和MySQL无法通过id获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57378207/