node.js - JSON response using express -
i have working code express returns json response server client
here
- when use
http:://myserverip/json table1 - when use
http:://myserverip/table2json table2
so understand need make 2 separate requests json 2 separate tables there way data both tables @ time in 1 json response
var express = require('express') , http = require('http') , mysql = require('mysql'); // <---- here var app = express(); var connection = mysql.createconnection({ host: 'localhost', user: 'root', password: "root", database: 'db' }); connection.connect(); // <---- , here // environments app.set('port', process.env.port || 7002); app.get('/',function(request,response){ connection.query('select * table1', function(err, rows, fields) { console.log('connection result error '+err); console.log('no of records '+rows.length); response.writehead(200, { 'content-type': 'application/json'}); response.end(json.stringify(rows)); }); } ); app.get('/table2',function(request,response){ connection.query('select * table2', function(err, rows, fields) { console.log('connection result error '+err); console.log('no of records '+rows.length); response.writehead(200, { 'content-type': 'application/json'}); response.end(json.stringify(rows)); }); } ); http.createserver(app).listen(app.get('port'), function(){ console.log('express server listening on port ' + app.get('port')); }); thanks
i suggest using library async. instead of nested callbacks askkirati suggested.
var express = require('express') , async = require('async') , http = require('http') , mysql = require('mysql'); // <---- here var app = express(); var connection = mysql.createconnection({ host: 'localhost', user: 'root', password: "root", database: 'db' }); connection.connect(); // <---- , here // environments app.set('port', process.env.port || 7002); app.get('/',function(request,response){ var first, second; async.series( [ // first table contents function ( callback ) { connection.query('select * table1', function(err, rows, fields) { console.log('connection result error '+err); console.log('no of records '+rows.length); first = json.stringify(rows); callback(); }); }, // second table contents function ( callback ) { connection.query('select * table2', function(err, rows, fields) { console.log('connection result error '+err); console.log('no of records '+rows.length); second = json.stringify(rows); callback(); }); } // send response ], function ( error, results ) { response.writehead(200, { 'content-type': 'application/json'}); response.end({ 'first' : first, 'second' : second }); } ); } ); http.createserver(app).listen(app.get('port'), function(){ console.log('express server listening on port ' + app.get('port')); });
Comments
Post a Comment