在node.js中打印从数据库检索的数据作为响应
我是node.js的初学者,对不起,如果我错了。
而不是打印数据在console.log(),我想打印在本地主机: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);
浏览器中的输出是:
注册用户是[对象对象],[对象对象]。
命令提示符中的错误是:
调用quit之后不能入队握手。
如果我完全错了,请给我一些关于node.js的教程。
根据评论,这听起来像你正在做一些处理在客户端上绑定到一个模板后,通过Ajax取得?
鉴于此,您应该考虑不要在服务器上做任何模板,而只是发送json数据,例如,而不是<p>Registered users are " + util.inspect(results) + ".</p>";
做util.inspect(results)
。
您可能还需要将Content-Type标头设置为application/json
以便您的客户端框架通过检查标头所要执行的任何魔术都能正常工作。