2016-07-07 11 views
1

私はプロキシに土田2 APIへのリクエストがありました。いくつかの研究の後、私はMEANスタックを使って構築しているAPIでそれを行う方法を見つけました。しかし、私はどのように要求からデータを返すかを理解することはできません。どのように私はNode.jsのプロキシでJSONを返すのですか?

は、ここに私の私のノードサーバのコードでルートです:

router.get('/api/allheros', function (req, res) { 
    Https.get('https://api.steampowered.com/IEconDOTA2_570/GetHeroes/v0001/?key=FB900D42DC33F4B4FCC62F6C7779BE5D', function (res) { 
     var str = ''; 
     console.log('Response is ' + res.statusCode); 

     res.on('data', function (chunk) { 
      str += chunk; 
     }); 

     res.on('end', function() { 
      console.log(str); //This console logs all the heros correctly 
     }); 

    }); 
}); 

コンソールログの作品が、私は、データがフロントエンドに返却する必要があります。

答えて

2

あなたがやらなければならないことは、JSONオブジェクトにあなたの結果を解析し、res.json()を使用して、それを送り返すです。次のようにコードを修正し、

router.get('/api/allheros', function (req, res) { 
    Https.get('https://api.steampowered.com/IEconDOTA2_570/GetHeroes/v0001/?key=FB900D42DC33F4B4FCC62F6C7779BE5D', function (response) { 
     var str = ''; 
     console.log('Response is ' + response.statusCode); 

     response.on('data', function (chunk) { 
      str += chunk; 
     }); 

     response.on('end', function() { 
      res.json(JSON.parse(str)); 
     }); 

    }); 
}); 

注:内部機能でresが、それは外側の関数のresパラメータをマスクしないようにresponseに変更する必要がありました。

+0

'console.log( 'レスポンスは' + res.statusCode);または' console.log( 'レスポンスは' + response.statusCode) 'です。 – Mikel

+0

aah、その 'console.log( 'レスポンスは' + response.statusCode);'私はそれを逃しました。 – elem4th

+0

あなたの答えに感謝します。しかし、郵便配達中の応答は次のようになります。「 "\" {\\ N \\トン\ "結果\":{\\ N \\トン\\トン\ "英雄\":[\\ N \\トン\\ \\トントン{\\ N \\トン\\トン\\トン\\トン\ "名\":」。私はそれを評価するだけですか? – Poot87

関連する問題