我是node.js的初学者,对不起,如果我出错了。
我想在localhost:3000打印而不是在console.log()中打印数据。
这里我从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],[object Object]。
命令提示符中的错误是:
无法将握手排队。
如果我完全错了,请给我一些关于node.js的教程。
答案 0 :(得分:0)
根据评论,听起来你在客户端做一些处理,在通过ajax获取模板后将其绑定到模板上?
鉴于此,你应该考虑不在服务器上进行任何模板化,而只是发送json数据,例如而不是<p>Registered users are " + util.inspect(results) + ".</p>";
你只会做util.inspect(results)
。
您可能还希望将Content-Type标头设置为application/json
,以便通过检查标头可以使客户端框架想要做的任何魔法都有效。