首先,我对node.js和Web服务非常陌生。
我正在开展一些工作,要求我从openweather.org API获取温度并在HTTP中提供结果。
api是
http://api.openweathermap.org/data/2.1/find/name?q=London
我想用以下格式将城市名称,温度和度数保存在HTML中:
<!DOCTYPE html>
<html>
<head>
<title>Something</title>
</head>
<body>
<h1>Current Weather</h1>
<hr/>
<strong id="city">{{city}}</strong>
<span id="temperature">{{temperature}}</span>
<span id="unit">{{unit}}</span>
<hr/>
<small>last update: <span id="lastupdate">{{datetime}}</span></small>
</body>
</html>
我该怎么做?任何帮助。
答案 0 :(得分:2)
步骤1:创建一个简单的节点应用程序来执行api请求并将输出返回到控制台。使用request让您的生活轻松
第2步:使用像underscore或其他人那样的模板引擎将api输出与上面的html模板合并。 例如:
var apiResult = JSON.parse(the_result_of_api_call);
var template = '<strong id="city"><%= list[0].name %></strong>';
var output = _.template(template)(apiResult);
步骤3:创建一个node express website以组合上述内容并执行response.send(mergedoutput)。
答案 1 :(得分:2)
访问http.request了解详情。
var options = {
host: url,
port: 80,
path: '/resource?id=foo&bar=baz',
method: 'POST'
};
http.request(options, function(res) {
console.log('STATUS: ' + res.statusCode);
console.log('HEADERS: ' + JSON.stringify(res.headers));
res.setEncoding('utf8');
res.on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
}).end();
上面的代码块将帮助您从其他网站检索数据。
如果您想以问题中提到的(类似)方式呈现数据,则需要查看backbone.js
和underscore.js
。
您可以看到一个具有相似内容的示例:backbone.js with node.js