如何在Node.js中将后端获取的数据发送到前端

时间:2020-06-07 05:31:14

标签: node.js express

我在Node.js中像MVC模型一样开发。

我想通过访问data来显示/。但是现在/中什么也没显示。

有什么错误的观点吗?或者,如果您有任何意见,请告诉我。

在下面的模型中,我获取并获取一些数据,我想pass将这些数据放到前端。

module.exports={
    getQuiz:function(){
      fetch(API_KEY)
      .then(response => response.json())
      .then(json => { const quiz = new Quiz(json)});
    }
};

我的控制器就是这样。在此controller中,我使用了getQuiz()

中定义的model函数
const Quizes = require("../models/Quizes");

module.exports = {
    doGetQuiz:function(req,res,next){
        Quizes.getQuiz().then((result)=>{
            res.json(result);
        });
    }
};

我想要的目标是通过data显示/

我的路由器就是这样。

var express = require("express");
var router = express.Router();
var quizController = require("../controllers/QuizController");

router.get('/',quizController.doGetQuiz);

module.exports = router;

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以传入res并调用其方法

module.exports={
    getQuiz:function(res){
      fetch(API_KEY)
      .then(response => response.json())
      .then(json => { 
          const quiz = new Quiz(json);
          res.json(quiz);
      });
    }
};

您的控制器

const Quizes = require("../models/Quizes");

module.exports = {
    doGetQuiz:function(req,res,next){
        Quizes.getQuiz(res);
    }
};

答案 1 :(得分:0)

在模型中添加return

module.exports={
    getQuiz:function(){
      fetch(API_KEY)
      .then(response => response.json())
      .then(json => { const quiz = new Quiz(json); return quiz;});
    }
};