2016-11-30 2 views
1

Ich versuche, Daten zu verwenden, die der Benutzer eingibt, um einen API-Aufruf an eine externe API mithilfe von Knoten. Ich habe erfolgreich vom Server Anrufe gemacht und sie zu eckigen zurückgebracht. Aber ich muss dem Server eine Variable aus eckigen senden, einen Anruf tätigen und die Antwort an meine Sicht zurückgeben. Ich bin neu in Node, es tut mir leid, wenn dies bereits irgendwo beantwortet wurde. Ich sah mich um und fand nichts.Verwenden Sie Daten von Angular, um externe API-Aufruf in Knoten Express

Mein 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> 

Meine Reglerfunktion

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

My 'Nerd' Dienst

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 
      }) 
     } 
}]); 

My Express Strecke

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

Mein Knoten-Modul, das den API-Aufruf

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

Antwort

1

senden Parameter mit $ http POST macht:

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

Um POST-Parameter, Sie benötigen das ExpressJS body-parser Paket. Dadurch können Sie Informationen aus dem POST abrufen.

Read more

+0

Das funktionierte, kann ich jetzt auf dem Server von meinem route.js Konsole anmelden, aber wie kann ich req.body in die Knotenmodul passieren? –

Verwandte Themen