Node.js 如何在Nodejs中从查询结果中获取字符串
我的代码在下面的Nodejs后端中Node.js 如何在Nodejs中从查询结果中获取字符串,node.js,database,backend,Node.js,Database,Backend,我的代码在下面的Nodejs后端中 app.get('/room_selected', function (req, res){ var clientID = 'a@gmail.com'; var room = 'Room 1'; var query = connection.query ('SELECT clientID FROM clientDevices WHERE deviceName = ?', [room], function (err, rows,
app.get('/room_selected', function (req, res){
var clientID = 'a@gmail.com';
var room = 'Room 1';
var query = connection.query ('SELECT clientID FROM clientDevices WHERE deviceName = ?', [room],
function (err, rows, fields){
if (err) throw err;
return rows[0].clientID;
});
console.log (query);
if (clientID == query){
res.status(400).json ('success');
} else {
res.status(400).json('The selected room does not have a device attached');
}
});
当我打印console.log(query)时,它返回[{clientID:'a@gmail.com“}]
我只想返回a@gmail.com。你们知道怎么弄清楚吗?由于我希望它与clientID进行比较以打印出成功消息,但是,它打印出的是所选房间没有连接设备
请帮忙。谢谢在代码中,您没有等待执行查询。以下是仅在执行查询后才会给出响应的代码 而且成功的状态代码不应该是400,所以我删除了状态代码为200的代码
app.get('/room_selected', function (req, res){
var clientID = 'a@gmail.com';
var room = 'Room 1';
var query = connection.query ('SELECT clientID FROM clientDevices WHERE deviceName = ?', [room],
function (err, rows, fields){
if (err) throw err;
if (rows.length && clientID == rows[0].clientID){
res.json('success');
} else {
res.status(400).json('The selected room does not have a device attached');
}
});
});
返回行[0]。clientID
这将返回a@gmail.com
@aRvi,这会有用的。我已经删除了我的帖子@阿维,你能再看看我的密码吗?它也不起作用。我想打印成功消息,但它不是。谢谢你的帮助。但当我在:8080/room_selected上运行它时,它看起来像是在加载,等待本地主机,但屏幕上没有显示任何内容screen@Sunny检查运行在8080上的服务器是否为http或httpslocalhost未发送任何数据检查日志可能是代码错误,或者你遗漏了什么我遗漏的唯一一件事没有将json对象数据发送回前端。所以我想加上“res.send(..)”,你在括号里有什么想法吗?