代码之家  ›  专栏  ›  技术社区  ›  Maihan Nijat

如何使用Routes和Controller将数据显示为JSON?

  •  1
  • Maihan Nijat  · 技术社区  · 7 年前

    我想把路线和控制器分开。

    我的路线是:

    'use strict';
    module.exports = function(app) {
      var controller = require('../controllers/controller');
    
      app.route('/').get(controller.index);
    };
    

    exports.index = function() {
      request = new Request(
        "MYQUERY",
        function(err, rowCount) {
          if (err) {
            console.log(err);
          } else {
            console.log(rowCount + ' rows');
          }
          connection.close();
        }
      );
    
      request.on('row', function(columns) {
        columns.forEach(function(column) {
          if (column.value === null) {
            console.log('NULL');
          } else {
            console.log(column.value);
          }
        });
      });
    
      connection.execSql(request);
    };
    

    我可以在终端控制台中看到结果,但我想将其作为JSON返回到http。如果同时使用控制器和路由,则可以使用以下选项:

    router.get('/about', function (req, res) {
      res.send('About this wiki');
    })
    
    2 回复  |  直到 7 年前
        1
  •  1
  •   Explosion Pills    7 年前

    回调函数 .get request response . 您可以通过示例看到这一点:

    router.get('/about', function (req, res) {
      res.send('About this wiki');
    })
    

    const aboutHandler = function (req, res) {
      res.send('About this wiki');
    });
    
    router.get('/about', aboutHandler);
    

    你的 controller.index

    exports.index = function (req, res) {
    

    这将允许您访问 res ,您可以根据需要使用它,通过 res.send res.json request.on('end' ... 以了解查询何时发出了所有结果。

        2
  •  0
  •   sparkhead95    7 年前

    我可能误解了你的问题,但你的意思是 res.json(...); ?

    推荐文章