如何在节点js中传递REST数据?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (84)

我试图通过制作一个只生成段落的单页应用程序来理解节点,并告诉它生成了多少。

我对使用REST的理解是这样的

const ipsum_gen = require("./generator.js");

let routes = app => {
  app.get("/", (req, res) => {
    res.status(200).send("Site is working!");
  });

  app.get("/ipsum", (req, res) => {
    let data = ipsum_gen.getAllParagraphs(1);
    res.status(200).send(data);
  });

  app.get("/ipsum/:num", (req, res) => {
    let data = [];
    let num = req.params.num;
    if (isFinite(num) && num > 0) {
      data = ipsum_gen.getAllParagraphs(num);
      res.status(200).send(data);
    }
    else {
      res.status(400).send({ message: "That is not a number." });
    }
  });
};

而不是将数据直接发送到页面以在白色背景上呈现为文本,如何将其发送到可以更好地呈现它的html模板?

提问于
用户回答回答于
const ipsum_gen = require("./generator.js");

let routes = app => {
  app.get("/", (req, res) => {
    res.status(200).send(`This should be an HTML page, 
       possibly containing a form
       and a JS script to call one of the api routes
       and update the page with the data recieved`);
  });

  app.get("/ipsum", (req, res) => {
    let data = ipsum_gen.getAllParagraphs(1);
    res.status(200).send(data);
  });

  app.get("/ipsum/:num", (req, res) => {
    let data = [];
    let num = req.params.num;
    if (isFinite(num) && num > 0) {
      data = ipsum_gen.getAllParagraphs(num);
      res.status(200).send(data);
    }
    else {
      res.status(400).send({ message: "That is not a number." });
    }
  });
};
用户回答回答于

在你的节点中,休息符js使用response.json返回数据,例如:

app.get('/api/getAllData', (req, res) => {
    EXAMPLEDATA.getObjects((err, pass) => {
        if(err){
            throw err;
        }
        res.json(pass);
    });
});

如上所述,您创建了一个rest api端点,您需要使用ajax调用来使用api并读取json并使用javascript将其放入HTML页面。希望这可以帮助

扫码关注云+社区

领取腾讯云代金券