2014-01-14 6 views
2

Я начинаю node.js, Извините, если я поступил не так.
Печать данных, полученных из базы данных, как ответ в node.js

Вместо печати данных в console.log(), я хочу напечатать на localhost: 3000.

Здесь я получил данные из базы данных MYsql, все прошло правильно, когда я закончил с console.log(). Но это пошло не так, когда я написал свой код с http-запросом и ответом.

Мои db.js является

var http = require("http"); 
    var port = 3000; 
    var serverUrl = "localhost"; 
    var mysql = require('mysql'); 
    var connection = mysql.createConnection({ 

     host : 'localhost', 
     user : username, 
     password: password, 
     database: "wst" 

    }); 

    var server = http.createServer(function(req, res) { 

    console.log("Request: " + req.url); 
    connection.connect(); 

    connection.query('select * from welcome',function(err, results, fields){ 

    //console.log(results); 
    //console.log(fields); 
    var html = "<p>Registered users are " + results + ".</p>"; 
    res.end(html); 

     }); 

    connection.end(); 

    }); 



    console.log("Listening at " + serverUrl + ":" + port); 

    server.listen(port, serverUrl); 

И выход в браузере:

Зарегистрированные пользователи [объект Object], [объект Object].

И ошибка в командной строке является:

не может Ставить рукопожатие после вызова бросить курить.

Если я совершенно ошибаюсь, дайте мне несколько руководств по node.js.

+0

попробовать, ' "

Зарегистрированные пользователи "+ util.inspect (результаты) +"

.";' – thefourtheye

+0

Использование util.inspect или JSON.stringify/разобрать – Andrew

+0

@thefourtheye да он работал thanks.But еще дает «Не может enqueue Handshake после вызова quit " –

ответ

0

Основываясь на комментариях, похоже, что вы выполняете некоторую обработку на клиенте, чтобы связать его с шаблоном после извлечения его через ajax?

Учитывая это, вы должны не учитывать шаблоны на сервере и вместо этого просто отправлять json-данные, например. вместо <p>Registered users are " + util.inspect(results) + ".</p>"; вы бы просто сделали util.inspect(results).

Возможно, вы захотите также установить заголовок Content-Type на application/json, чтобы любое волшебство, которое ваша клиентская инфраструктура хочет сделать, проверив заголовки, будет работать.

Смежные вопросы