2017-04-08 21 views
-1

これらを一緒に使うには?たとえば、1つのテーブル(ID、テキスト、完了)とmySQLからJSONファイルにデータをエクスポートするコードを持つシンプルなデータベースがあります。 JSONファイルには、次のようになります。angular + node(express)+ mysql

[{ "id":"1", "text":"learn angular", "done":true }, 
{ "id":"2", "text":"build an angular app", "done":false}] 

そして、server.jsファイル:

var fs = require('fs'); 
var serverUrl = 'localhost'; 
var port = 3000; 
var path = require('path'); 
var express = require('express'); 
var app = express(); 
var http = require('http').Server(app); 
var mysql = require('mysql'); 
var bodyParser  = require('body-parser'); 
var methodOverride = require('method-override'); 
app.use(bodyParser.json()); // parse application/json 
app.use(bodyParser.json({ type: 'application/vnd.api+json' })); 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use(methodOverride('X-HTTP-Method-Override')); 
app.use(express.static(__dirname + '/public')); 
require('./app/routes')(app); // pass our application into our routes 
app.get('/', function(req, res){ 
res.sendfile('public/index.html'); 
}); 

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

connection.connect(); 

app.get('/',function(request,response){ 
connection.query('SELECT * FROM todos', function(err, rows, fields, res) 

{ 
     console.log('Connection result error '+err); 
     console.log('no of records is '+rows.length); 
     response.writeHead(200, { 'Content-Type': 'application/json'}); 
     response.end(JSON.stringify(rows)); 
     }); 

app.set('port', 3000); 

http.listen(port, function(){ 
console.log('listening on: ' + app.get('port')); 
}); 

exports = module.exports = app; 

は私が次に何をすべきか?どうやってMySQLからJSONデータをexportすることができますか? index.htmlファイル:

<!doctype html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8"> 
<base href="/"> 

<title></title> 

<!-- CSS --> 

<!-- JS --> 

<!-- ANGULAR CUSTOM --> 
</head> 

<body ng-app="App" ng-controller="Controller"> 
<div class="someClass"> 
<table> 
<tr> 
    <th>id</th> 
    <th>text</th> 
    <th>done</th> 
</tr> 
<tr ng-repeat="todo in todos"> 
    <td>{{todo.id}}</td> 
    <td>{{todo.text}}</td> 
    <td>{{todo.done}}</td> 
</tr> 
</table> 
<div> 
</body> 
</html> 

私はこのメカニズムを正しく理解していますか?私たちはmysqlにいくつかのDBを持っていて、mysqlデータをjsonオブジェクトに変換し、これらのオブジェクトを角度で読み込みますか?そうであれば、データベースを使って厳密な操作をどのように実行できますか?私がそれを理解するのに役立つアドバイスと回答があれば、事前に感謝します。

+0

角度アプリにデータを取得する角度$ httpサービスを使用してajax呼び出しを行う必要があります:https://docs.angularjs.org/api/ng/service/$http – happyZZR1400

答えて

0

$ http serveiceを使用して、APIから値を取得できます。

$http({ 
    method: "POST", 
    url: "youUrl", 
    data: { "foo": "bar", "baz": "moe" }, 
    headers: {'Content-Type': 'application/json'} //optional 
}).then(function(response){ 
    console.log(response) // success function 
}, function(err){ 
    console.log(err) // error function 
}); 

応答には、バックエンドから送信するAPIデータが含まれます。

+0

まだ分かりません角で使用できるデータを与えます。例えば、私は、次のコードしている:$ scope.getTodos =関数(){ \t VARのHttpRequest = $ HTTP({ \t \t方法: 'POST'、 \t \t URL: '../todos.json'、 \t \tデータ:?。何がここにあるべき \t})成功(機能(データ、ステータス){ \t \t $ scope.todos =データ; \t}); }; – Kirill

+0

@Kirill答えを見てください –

関連する問題