Express js控制器从api服务获取数据并呈现视图

时间:2014-06-01 04:42:08

标签: javascript node.js api express

我有这个系统

  1. 仅响应JSON对象的API系统。 示例:http://example.com/user/13   回复:{姓名:' Aesome 1',年龄:' 13'}

  2. ExpressJS网络应用程序,用于创建视图并将视图发送给用户。

  3. 现在我需要做什么来从API获取JSON对象并在ExpressJS中呈现视图然后发送到客户端。

    所以我需要将ExpressJS应用程序与此api系统连接。

    请让我知道如何做到这一点。

    由于

1 个答案:

答案 0 :(得分:5)

您可以使用request模块发出api请求。

在您的控制器中,请执行以下操作:

var request = require('request');

function(req, res) {
    request.get('http://example.com/user/13', function(err, response, body) {
        if (!err && response.statusCode == 200) {
            var locals = JSON.parse(body);
            res.render('<YOUR TEMPLATE>', locals);
        }
    }
}

注意:如果你真的想从服务器访问api然后使用该示例,否则你可以使用ajax获取结果,同时减少另一台服务器对服务器http调用的开销。