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/table2 json 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

Popular posts from this blog

assembly - 8086 TASM: Illegal Indexing Mode -

Java, LWJGL, OpenGL 1.1, decoding BufferedImage to Bytebuffer and binding to OpenGL across classes -

javascript - addthis share facebook and google+ url -