这是我在Node JS中的代码,我正在使用mysql
router.post('/districts', (req, res) => {
const stateid = req.body.stateid;
db.query("select id, name from lkup_district where stateid = '"+stateid+"' ", (error, rows) => {
if(error) {
console.log(error);
}
if(rows.length>0) {
res.send(rows);
}
});
});
使用stateid,我正在获取地区数据。但是,如果我发送了一些lkup_districts中不存在的stateid,则邮递员正在给我加载,并且什么也没有发生。怎么了?
我应该写
if(rows.length=0) {
}
答案 0 :(得分:2)
看。仅当您发现问题时,才应要求发送答案。如果发生错误或您的请求找不到任何内容,则不发送任何数据。因此,恕我直言,您需要稍微修改代码。
router.post('/districts', (req, res) => {
const stateid = req.body.stateid;
db.query(
"select id, name from lkup_district where stateid = ? "
,[stateid], (error, rows) => {
if(error) {
console.log(error);
res.status(500).send("Error proceeding query");
}
if(rows.length>0) {
res.send(rows);
}
else {
res.status(404).send("No data found");
}
}
);
});