我正在尝试使用Hapi和MySQL创建一个身份验证系统,我正在使用postman进行测试,我也在终端控制台上记录查询的输出。
问题是,控制台成功输出查询,但邮递员返回An internal server error occurred
,控制台不会返回任何错误。我将发送我的路线的处理函数,如下所示:
handler: async function(req, h) {
const pass = req.payload.password;
const username = req.payload.username;
var res;
res = await con.query("SELECT * FROM `Person` WHERE `Username` = ?", username,
(err, rows, fields) => {
if(err) {
console.log("Query Error: ", err, "!");
return err;
} else {
console.log("Query Successful!");
const person = JSON.parse(JSON.stringify(rows[0]));
console.log(person);
if(person != null) {
//const hashedPass = crypto.pbkdf2Sync(req.payload.password, person.salt, 10000, 64, 'sha1').toString('base64');
if(pass != person.Password) {
return boom.badRequest('Invalid username/password.');
} else {
var token = jwt.sign(person, config.jwtKey);
person.token = token;
return person;
}
} else {
return boom.badRequest('Invalid username/password. Failed.');
}
}
}
);
return res;
}
答案 0 :(得分:0)
我通过添加另一个node_module解决了这个问题,该node_module用promises封装了常规的mix phx.gen.html MyContext MyModel my_models a b c d:integer --no-context
节点模块函数。
该包名为mysql
。