0

首先,我对 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>

我怎样才能做到这一点?任何帮助。

4

2 回答 2

2

第 1 步:创建一个简单的节点应用程序来执行 api 请求并将输出返回到控制台。使用请求让您的生活更轻松

第 2 步:使用模板引擎,如下划线或其他模板引擎,将 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);

第三步:创建一个节点快递网站,结合以上内容,做一个response.send(mergedoutput)。

于 2013-03-01T11:08:10.653 回答
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.jsunderscore.js

您可以看到一个具有类似内容的示例:backbone.js 和 node.js

于 2013-03-01T11:35:12.017 回答