2017-02-01 8 views
0

私はjsを初めて使っています。最近、私は機能を実装したい、そこにデータを取得するボタンがある、データベースにアクセスした後にデータベースにページに表示され、MySQLサーバーのデータベースはnodejsを使用してnodejsで書き込む方法を構築しています。sqlからnodejsへデータを取得してjsonを返す方法は?

XML/HTMLコード

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Document</title> 
</head> 
<body> 
<button>get</button> 
<!-- show data --> 
<div id="res"></div> 
</body> 
<script src="node_getdata.js"></script> 
</html> 

あなたは非常に(そのように見える可能性がある、Expressのフレームワークを使用してWebサーバーを作成することができたJavaScriptコード

var http = require("http"); 
var mysql = require("mysql"); 

var conn = mysql.createConnection({ 
    host : "localhost", 
    user : "root", 
    password : "", 
    database : "test" 
}); 

conn.connect(); 

conn.query("select * from person", function(err,results){ 
    if(err){ 
     console.log(err); 
     return; 
    } 

    console.log("Result", results); 
}); 
+0

は、ノードを使用してWebサーバーを作成し、AJAX呼び出しを使用してHTMLページからあなたの関数を呼び出す:

function getPersons() { var xmlHttpReqeust = new XMLHttpRequest(); xmlHttpRequest.onreadystatechange = function() { if (xmlHttpRequest.readyState == XMLHttpRequest.DONE && xmlHttpRequest.status == 200) { document.getElementById("persons").innerHTML = xmlHttpRequest.responseText; } }; xmlHttpRequest.open('GET', 'http://localhost/test', true); xmlHttpRequest.send(); } 

そして、HTTP呼び出しを実行するために、あなたはbuttononClickでイベントを定義することができます。 – Shubham

答えて

2

簡単な例):

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

var mysql = require('mysql'); 

var conn = mysql.createConnection({ 
    host : 'localhost', 
    user : 'root', 
    password : '', 
    database : 'test' 
}); 

conn.connect(); 

app.get('/test', function(request, response){ 
    conn.query('select * from persons', function(error, results){ 
     if (error){ 
      response.status(400).send('Error in database operation'); 
     } else { 
      response.send(results); 
     } 
    }); 
}); 

app.listen(3000, function() { 
    console.log('Express server is listening on port 3000'); 
}); 

もちろん、読み取り可能な形式で取得するには、データベース操作の結果をおそらく何らかのJSON形式に変換する必要があります。

プレーヤのJavascriptを使用する場合は、XMLHhttpRequestを使用してREST APIを呼び出すことができます。

<button type='button' onclick='getPersons()'>Get persons!</button> 
関連する問題