2014-11-24 5 views
0

Я разрабатываю небольшое веб-приложение от NodeJS, и я застрял на этом этапе. Пожалуйста, ознакомьтесь с моим кодом:Как я могу написать данные методом response.write после того, как получил от сервера MySQL к программе Node.js?

var config = require('./config.json'); 
var mysql = require('mysql'); 
var http = require('http'); 
var url = require('url'); 

http.createServer(function(request, response){ 
    var path = url.parse(request.url).pathname; 
    if (path=='/ajax.html') { 
     displayData(function(result) { 
      console.log('Result' + result); 
      response.write(result, 'utf8'); 
     }); 
    } 
}); 


function displayData(callback) { 
    var connection = mysql.createConnection({ 
     host  : config.host, 
     user  : config.user, 
     password : config.password, 
     database : config.database, 
    }); 
    connection.connect(); 
    var query = connection.query("SELECT name FROM `table` WHERE `id` = '1'"); 
    query.on('result', function(row) { 
     callback(row.name); 
    }); 
} 

я тестировал и понял, что объект ответа в displayData самого по себе не больше, так что я просто возможности просматривать мои данные результата в console.log и не могу использовать response.write для просмотра это в браузере.

Пожалуйста, помогите, что делать, чтобы решить эту проблему?

ответ

1

Вы должны позвонить response.end(), как только вы закончите записывать данные на него.

+0

Да, я сделал и на своей работе, я могу использовать response.write для записи любого содержимого в браузер. Этот метод работает отлично, пока объект response в функции displayData. Только в этом вопросе возникла проблема. –