我正在尝试在node.js中构建一个服务器,它将接收来自客户端的请求,访问服务器上的mysql服务器,并将数据从该服务器发送到客户端。我可以在createserver之外访问mysql服务器,但不能将sql查询放在createserver方法中。
不起作用的示例:
var jellies;
http.createServer(function (req, res) {
var sql = "SQL STATEMENT";
sqlConnection.query(sql, function(err, result) {
if (err) throw err;
jellies = result;
}
res.write(JSON.stringify(jellies));
}).listen(port);
工作原理示例:
var jellies;
var sql = "SQL STATEMENT";
sqlConnection.query(sql, function(err, result) {
if (err) throw err;
jellies = result;
}
http.createServer(function (req, res) {
res.write(JSON.stringify(
}).listen(port);
查询完成后,console.log(jellies)为第一个函数生成null。只是不允许您在http.createserver()中执行任何操作?有什么办法解决这个问题吗?
我得到的错误是:typeerror:第一个参数必须是字符串或缓冲区。它回调htts.createserver()的行;
2条答案
按热度按时间t3psigkw1#
你能试试这个吗?
hgb9j2n62#
我想我昨天解决的问题几秒钟就能被一个在线的朋友解决。
对于下一个可能会遇到此问题的人,需要解决的问题是将res.write()和res.end()移动到sql查询函数中。