簡體   English   中英

如何使用EJS文件從NodeJS服務器檢索完整的JSON

[英]How to retrieve full JSON from NodeJS server using EJS file

我創建了一個NodeJS服務器,它使用EJS文件將JSON數據發送到前端。 我想要的只是我從三個API中獲取的JSON代碼將顯示在前端(localhost)。 當我執行類似<h1><%= data2[0]['id'] %></h1> ,它可以工作,但這只能給我一小部分我需要的JSON。

服務器代碼:

var express = require('express');
var router = express.Router();
var request = require('request');
var app = express();

router.get("/", function(req, res){
var request = require('request-promise');
var data1;
var data2;
var data3;


request("http://api1.com").then(function(body){
    data1 = JSON.parse(body);

    return request("http://api2.com");
})
    .then(function(body) {
        data2 = JSON.parse(body);


        return request("http://api3.com");
    })
    .then(function(body){
        data3 = JSON.parse(body);

        res.render("services.ejs", {data1: data1, data2: data2, data3: data3});
    })
});

module.exports = router;

前端示例:

<!DOCTYPE html>
<html>
<body>

    <p><%= data1 %></p>
    <p><%= data2 %></p>
    <p><%= data3 %></p>

</body>
</html>

這就是我希望它看起來像,但它也可以是一個段落或其他無組織的方式,只要它具有來自API的完整JSON:

在此輸入圖像描述

如果您只關心在沒有任何格式化和突出顯示的情況下顯示數據,您可以這樣做

res.send({data1: data1, data2: data2, data3: data3})

我假設您正在看到[object Object]或與您的代碼類似的內容,即使我對ejs知之甚少,我也會猜測您必須自己遍歷對象並在生成過程中生成相關的HTML代碼。遍歷。 通過這種方式,您可以精心打印並突出顯示您心中的內容。

res.json({ data1: data1, data2: data2, data3: data3 });

是推薦的向客戶端發送基於JSON的響應的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM