【问题标题】:How to send backend fetched data to frontend in Node.js如何将后端获取的数据发送到 Node.js 中的前端
【发布时间】:2020-09-26 04:32:22
【问题描述】:

我在 Node.js 中开发类似于 MVC 模型。

我想通过访问/ 来显示data。但现在,/ 中没有显示任何内容。

有什么错误的地方吗?或者如果你有什么意见,请告诉我。

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

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

我的控制器是这样的。在这个controller 中,我使用了model 中定义的getQuiz() 函数

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;

谢谢!

【问题讨论】:

    标签: node.js express


    【解决方案1】:

    在你的模型中添加return

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

    【讨论】:

      【解决方案2】:

      你可以传入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);
          }
      };
      

      【讨论】:

        猜你喜欢
        • 2015-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-28
        • 1970-01-01
        • 1970-01-01
        • 2021-11-24
        • 2018-11-02
        相关资源
        最近更新 更多