nodeJS - 我如何连接MySQL并在localhost中显示结果

时间:2017-05-11 10:06:20

标签: javascript node.js

我写了这段代码

var http = require('http');
var express = require('express');
var mysql = require('mysql');

var connection = mysql.createConnection({
  host: '127.0.0.1',
  user: 'root',
  password: '',
  database: 'nodejs'
});

connection.connect(function (err) {
  if (!err) {
    connection.query('SELECT * FROM nodetest', function (err, rows) {
      if (err) {
        console.log(err);
        return;
      }
      var json = JSON.parse(JSON.stringify(rows))[0];
      console.log(json);
    });
    console.log("Database is connected");
  } else {
    console.log("Error connecting database");
  }
});



http.createServer(function (request, response) {
  response.writeHead(200, {
    "Content-Type": "test/html"
  });
  response.end('here my data');
}).listen(7777);

我遇到问题,在我的localhost中显示结果为i json

什么是读取表并将其转换为json并在localhost中显示的麻烦方式

2 个答案:

答案 0 :(得分:1)

JSON.stringify做了什么?

  

JSON.stringify()方法将JavaScript值转换为JSON   string,如果是replacer函数,则可以选择替换值   如果是,则指定或者可选地仅包括指定的属性   指定了replacer数组。

JSON.parse做了什么?

  

JSON.parse()方法解析JSON字符串,构造   字符串描述的JavaScript值或对象。

所以基本上,一个操作是另一个操作的反转。这就是你的问题:

var json = JSON.parse(JSON.stringify(rows))[0];

答案 1 :(得分:1)

由于您要求快递,我假设您想要使用它。 您可以使用app.get('/', function(req,res){})创建索引路由。从mysql数据库中以json形式显示数据的快速方法是:

var express = require('express');
var mysql = require('mysql');
var app = express();

var connection = mysql.createConnection({
    host: '127.0.0.1',
    user: 'root',
    password: '',
    database: 'nodejs'
});

// localhost:7777/
app.get('/', function(req, res) {
    connection.connect(function(err) {
        if (!err) {
            connection.query('SELECT * FROM nodetest', function(err, rows) {
                if (err) {
                    console.log(err);
                    return;
                }
                var json = JSON.parse(JSON.stringify(rows))[0];
                res.send(json); // Send the JSON back as a application/json type response.
            });
            console.log("Database is connected");
        } else {
            console.log("Error connecting database");
        }
    });
})

app.listen(7777, function() {
    console.log('Example app listening on port 7777!')
});