【发布时间】:2016-12-19 15:55:31
【问题描述】:
我创建了一个 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:
【问题讨论】: