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

詳細については、 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();

上記のコード ブロックは、他の Web サイトからデータを取得するのに役立ちます。

質問に記載されている(同様の)方法でデータをレンダリングする場合は、 を確認する必要がありますbackbone.jsunderscore.js

同様のものを持つ1つの例を見ることができます:backbone.js with node.js

于 2013-03-01T11:35:12.017 に答える
2

ステップ 1: シンプルなノード アプリを作成して、API リクエストを実行し、出力をコンソールに返します。requestを使って生活を楽にする

ステップ 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);

ステップ 3:ノード エクスプレス Web サイトを作成して上記を結合し、response.send(mergedoutput) を実行します。

于 2013-03-01T11:08:10.653 に答える