[英]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.