Node.js: Не удается получить доступ к mysql в createServer? - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь создать сервер в файле node.js, который будет принимать запрос от клиента, получать доступ к серверу mysql на сервере и отправлять данные с этого сервера клиенту.Я могу получить доступ к серверу mysql за пределами createServer, но не могу поместить запрос 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) после выполнения запроса дает нулевое значение для первой функции.Вам просто не разрешено делать что-либо в http.createServer ()?Любые идеи, чтобы обойти это?

Ошибка, которую я получаю: TypeError: Первый аргумент должен быть строкой или буфером.Возвращает строку для htts.createServer ();

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Показывает, что проблема, над которой я работал вчера, может быть решена одним другом через несколько секунд.

Для следующего человека, который может бороться с этим, все, что нужно исправить, это перемещение res.write () и res.end () в функцию запроса sql.

0 голосов
/ 31 мая 2018

Можете ли вы попробовать это?

http.createServer(function (req, res) {

    var sql = "SQL STATEMENT";

    sqlConnection.query(sql, function(err, result) {

       if (err) throw err;

       res.write(JSON.stringify(result));

    }

}).listen(port);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...