Ich versuche eine Get/Anfrage von Angular mit $resource
auf eine bestimmte Route zu tun, die eine API pingen wird und dann sollte ich ein Objekt mit den Ergebnissen von der API erhalten.Wie wird eine Anfrage an eine Route gesendet und Informationen von einer API abgerufen?
Dies ist eine Suchfunktion. Siehe den Ablauf dieser Ausgabe:
Angular Service:
angular.module('MyApp')
.factory('Search', function($resource) {
return $resource('/api/shows/:_search');
});
Ctrl:
$scope.$watch('searchStr', function (tmpStr)
{
if (!tmpStr || tmpStr.length == 0)
return 0;
// if searchStr is still the same..
// go ahead and retrieve the data
if (tmpStr === $scope.searchStr) {
Search.query({'search': $scope.searchStr})
.$promise.then(function(data) {
$scope.responseData = data;
})
}
});
Ausblick:
<input type="text" data-ng-model="searchStr">
<textarea> {{responseData}} </textarea>
NodeJS:
app.get('api/shows/:search', function(req, res, next) {
console.log(req, res);
request.get('http://thetvdb.com/api/GetSeries.php?seriesname=' + req.params.search, function (error, response, body) {
console.log(error, response, body);
});
});
da ist, was ich brauche, ich muss eine Anfrage an 'api/shows/:search'
tun und etwas tun, um die Ergebnisse von http://thetvdb.com/api/GetSeries.php?seriesname=' + req.params.search
zu bekommen, aber ich kämpfe immer noch, wie es getan werden sollte. Die search
Param ist die Zeichenfolge von Angular kommen, um auf die thetvdb
gehen und zurück, was ich brauche. Hier
ist ein Beispiel dafür, was es sein sollte Rückkehr in dem Fall, dass Sie die Zeichenfolge param mit dem Wort senden „alle“: http://www.thetvdb.com/api/GetSeries.php?seriesname=all&language=en
Irgendwelche Vorschläge?
hat 'req.params.search' einen Wert enthalten? – chresse
@chresse Ich weiß nicht warum, aber ich versuche eine console.log in Nodejs zu machen Ich sehe nichts im Terminal. – TheUnnamed
@chresse Ich sende nur 'alles' Wort und alles, was ich im Terminal sehe, ist dies: GET/api/shows? Search = alle 200 109.559 ms - 2806780 – TheUnnamed