【发布时间】:2013-07-03 07:42:34
【问题描述】:
我有一个带有来自 flexiage 的 mysql 插件的 node.js 服务器: 这是我的代码:
connection.query('SELECT * FROM students WHERE email="'+req.body.username+'" AND password="'+req.body.password+'"',function(err,rows){
if(rows.length)
{
var response=new Object;
connection.query('SELECT * FROM forums WHERE id="'+rows[0].courseInterest+'"',function(err,course){
response.subscription=course;
response.username=rows[0].email;
response.password=rows[0].password;
response.loginFailed=false;
response.loginAccepted=true;
});
}
else
{
var response=new Object;
response.username="";
response.password="";
response.loginFailed=true;
response.loginAccepted=false;
}
console.log(response);
res.setHeader('Content-Type', 'application/json');
res.send(response);
});
在控制台中我只是得到一个空白对象。它确实进入了 if 条件,但无法在构造内附加属性。我的猜测是变量范围,因为如果我在 connection.query 构造中执行 console.log,它会根据需要返回结果。 请亮光。
【问题讨论】:
标签: javascript node.js scope