2017-10-24 8 views
0

flickrのAPIを使用して、単純なWebアプリケーションのflickrピクチャをノードに表示しようとしています。私の下のメソッドは、無期限にハングアップし、私がURLに行くときにデータを記録しないので動作しません。 (私は、jsonデータに焦点を当ててレンダリングをコメントアウトしました)。ノードのAPIから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'); 
    }); 

上記のコードで何も起こらないので、リクエストオブジェクトはまだここで値を待っているようです。

+0

どのモジュールが使用していますか? – kgangadhar

+0

リクエストモジュールを使用しています。 – llJS

答えて

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"); 
    } 
}); 
+0

私はもともとそれを試しましたが、私のapp.get( "/、...)呼び出しの中に入れたときにコンソールに何もロギングせずに無期限に読み込みます。私の目標は、ホームページにflickrピクチャを渡すことでした – llJS

+0

内容が大きすぎるためコンソールにログが記録されないので、 'console.log(JSON.parse()を使用してください)を実行しようとしたときに、' res.render( 'home'、{flickrdata:body} (body)); 'これは内容をログに記録します – kgangadhar

+0

意味があります。ありがとう! – llJS

関連する問題