2017-05-11 73 views
0

顯示結果,我寫了這個代碼的NodeJS - 我如何使用MySQL連接,並在本地主機

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); 

和我有顯示問題的結果在我的本地主機,因爲我JSON

什麼韌皮讀取表格並將其轉換爲json並在本地主機上顯示

回答

1

JSON.stringify做什麼?

的JSON.stringify()方法一個JavaScript值轉換爲JSON 串,任選取代的值如果一個替換器功能是指定 ,或者如果指定了 代用品陣列被任選地包括僅在指定的屬性。

JSON.parse是做什麼用的?

的JSON.parse()來解析方法JSON字符串,構建由字符串描述的 JavaScript值或對象。

所以基本上,一個操作是另一個操作的反轉。其中存在您的問題:

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

我不知道這是問題 - 我懷疑它有更多的事情要做兩個'createServer'和mysql'connect'是異步的,讓一個人打電話給另一個人。 – Jamiec

+0

如果我正確地理解了這個問題,OP就只是無法返回JSON – e4c5

+0

是的,它根本不清楚問題是什麼。但我假設,因爲'response.end('這裏是我的數據');'在那裏沒有引用'json'。 – Jamiec

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!') 
});