mukund shelke
mukund shelke

Reputation: 423

How do we get response data in JSON format using node.js

I am trying to get response data from model(database) to controller

here is model

var database = require('../config/db');

exports.getAllBatch = function(done) {
database.query('SELECT batchName from batch', function (err, rows) {
    if (err) return console.log(err);
    else {
        console.log(null, rows);

        return rows;
    }
})
};

here is controller

code to access data from model.

var express = require('express');
var router = express.Router();
var batch=require('../models/BatchModel');
var myParser = require("body-parser");
var app = express();

router.get('/getbatch', function(req, res, next)
{
var resp=batch.getAllBatch();
    res.send(resp);
    //not displaying anything on browser
});
});

How I get response on browser please guide me.Thank you in advance.

Upvotes: 0

Views: 225

Answers (2)

bsyk
bsyk

Reputation: 2019

Your functions are using a callback pattern, but you're not calling or checking the callbacks.

Model

var database = require('../config/db');

exports.getAllBatch = function(done) {
  database.query('SELECT batchName from batch', function (err, rows) {
    if (err) {
      console.log('Err', err);
      return done(err);
    }
    else {
      console.log('Rows', rows);
      return done(null, rows);
    }
  });
};

Controller

var express = require('express');
var router = express.Router();
var batch=require('../models/BatchModel');
var myParser = require("body-parser");
var app = express();

router.get('/getbatch', function(req, res, next) {
  batch.getAllBatch(function(err, rows) {
    if (err) {
      res.status(500).send(err);
    } else {
      res.send(rows);
    }
  });
});

Upvotes: 1

jesusbv - user3085938
jesusbv - user3085938

Reputation: 174

That is good code, the only thing missing is setting the body parser you have required

app.use(myParser.json())

Upvotes: 2

Related Questions