0

Request と Express を使用して、HTTP リクエストの結果にアクセスしてレンダリングするにはどうすればよいですか?

var request = require('request');
var http = require('http');

exports.index = function(req, res){

  var apiUrl = 'http://api.bitcoincharts.com/v1/weighted_prices.json';

  request(apiUrl, function(err, res, data) {
    if (!err && res.statusCode == 200) {
      data = JSON.parse(data);
      console.log(data);
      res.render('index', { data: data });
    }
  });
};

現状では、リクエスト コールバック内で参照している res は生のレスポンス オブジェクトであり、リクエストにアクセスできなくても exports.index 関数からレスポンスを呼び出す方法を考えています。

4

1 に答える 1

0

引数の 1 つの名前を変更するだけです。

// either this:
exports.index = function(req, response) {
  ...
  response.render(...);
};
// or this:
request(apiUrl, function(err, response, data) {
  if (!err && response.statusCode == 200) {
    data = JSON.parse(data);
    console.log(data);
    res.render('index', { data: data });
  }
};
于 2013-04-30T13:04:16.980 に答える