在节点中显示API中的json

时间:2017-10-24 18:25:25

标签: json node.js api

我正在尝试使用flickr的API在节点中为简单的Web应用程序显示flickr图片。我的下面的方法无法正常工作,因为它无限期挂起,并且在我转到网址时从不记录任何数据。 (我注释掉渲染以关注json数据)。

request = require("request"),

    app.get("/", function(req,res){
        var url = "https://api.flickr.com/services/feeds/photos_public.gne?tags=gt500&tagmode=any&format=json&nojsoncallback=1"

        request({
            url: url,
            json: true
        }), function(err, res, body) {
            if(err){
                console.log(err);
            }
            if(!err && res.statusCode == 200){
                console.log(body);
                 res.render('home');
            } else {
                console.log("status code errort");
            }
        }

        // res.render('home');
    });

在上面的代码中,似乎请求对象仍在等待一个值。

1 个答案:

答案 0 :(得分:0)

无需将json格式的选项传递给request模块。只需传递url,如下所示:

request( url , function(err, res, body) {
    if(err){
        console.log(err);
    }
    if(!err && res.statusCode == 200){
        console.log(JSON.parse(body));
        res.render('home');
    } else {
        console.log("status code errort");
    }
});