【发布时间】:2018-03-11 19:44:15
【问题描述】:
我有一个小型 Node.js 应用程序正在运行,它向包含当前天气预报的 URL 发出请求,我可以成功地控制台记录 JSON 数据,但我不知道如何将这些数据传递给 .ejs看法?例如,仅提取温度或天气状况以便我可以将其显示在 div 中?一直在谷歌搜索,但没有成功!我在下面包含了我的 index.js 文件和 index.ejs 文件。提前致谢!
var express = require('express');
var request = require('request');
var app = express();
app.set('view engine', 'ejs');
const url = 'http://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=3a3188bfc5bb7c5d2eff1a4985214289'
request(url, (error, response, body)=> {
if (!error && response.statusCode === 200) {
const info = JSON.parse(body)
console.log("Temp: ", info)
} else {
console.log("Got an error: ", error, ", status code: ", response.statusCode)
}
app.get('/', function(req, res){
res.render('index', {info});
});
});
app.listen(8010);
console.log('8010 is the running port');
<!DOCTYPE html>
<html lang="en">
<body class="container">
<header>
<% include ../partials/header %>
</header>
<main>
<div class="jumbotron">
<% info.main.temp %>
</div>
</main>
<footer>
<% include ../partials/footer %>
</footer>
</body>
</html>
【问题讨论】:
-
你可以试试
res.render('index', {info: info});
标签: javascript json node.js ejs