2016-11-30 6 views
1

nodeを使用して外部APIにapi呼び出しを行うためにユーザーが入力したデータを使用しようとしています。私は正常にサーバーからの呼び出しを行い、角度に戻しました。しかし、私は角度から変数をサーバーに送信し、呼び出しを行い、応答を私のビューに返す必要があります。私はノードに新しいので、これはすでにどこかで答えられている場合はごめんなさい。私は周りを見回し、何も見つかりませんでしたノードのエクスプレスで外部api呼び出しを行うための角度のデータを使用

マイHTML

<md-input-container class="md-block" flex-gt-sm> 
    <label>Player 1</label> 
    <input ng-model="player1.username"> 
</md-input-container> 
<md-button ng-click="comparePlayers(player1, player2)">COMPARE!</md-button> 

私のコントローラ機能

$scope.comparePlayers = function(player1) { 
    Nerd.getPlayer(player1) 
} 

私の 'オタク' サービス

smiteStats.factory('Nerd', ['$http', function($http) { 
    return { 
      getPlayer: function(playerName) { 
      $http.post('/api/getPlayer', playerName).success(function(data) { 
       console.log("sent to server"); //does not run 
      }) 
     } 
}]); 

マイエクスプレスルート

app.post('/api/getPlayer', GetPlayer.apiGetPlayer); 

POSTで$ httpでパラメータを送信するには、API呼び出し

module.exports = { 
    apiGetPlayer: function(error, res, player) { 
     console.log(player); //this returns "[Function: next_layer] in my cmd 
    } 
} 

答えて

1

を作るマイノードモジュール:

$http({ 
    url: host + '/api/getPlayer', 
    method: "POST", 
    data: { 'fruit1' : "Apple"} 
}) 
.then(function(response) { 
     // success 
}, 
function(response) { // optional 
     // failed 
}); 

をPOSTパラメータを取得するには、 ExpressJS body-parserパッケージが必要になります。これによりPOSTから情報を取得できます。

Read more

+0

これは働いていた、私は今、サーバー上の私のroute.jsからそれをログに記録慰めることができますが、どのように私は、ノードモジュールにreq.body渡すことができますか? –

関連する問題