我是NodeJ的新手,我想通过id获取一些信息。这是我的代码
控制器
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进行测试,结果只有{}
。
拜托,你能告诉我为什么我没有得到想要的东西吗?
答案 0 :(得分:2)
尝试类似这样的方法,而不是读取正文数据,而应将其读取为 query 。否则,如果您作为 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);
}