如何在Express中呈现http请求的结果?

时间:2013-04-30 13:02:28

标签: node.js express

使用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函数调用响应。

1 个答案:

答案 0 :(得分:0)

只需重命名其中一个参数:

// 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 });
  }
};