Я пытаюсь выполнить запрос get/query от Angular, используя $resource
к указанному маршруту, который будет пинговать API, а затем я должен получить объект с результатами, поступающими из API.
Это функция поиска. См. Поток этой проблемы:
Угловое обслуживание:
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;
})
}
});
Посмотреть:
<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);
});
});
есть что мне нужно, мне нужно сделать запрос на 'api/shows/:search'
и сделать что-то, чтобы получить результаты из http://thetvdb.com/api/GetSeries.php?seriesname=' + req.params.search
но я все еще боюсь, как это должно быть сделано. Параметр search
- это строка, идущая от Angular, чтобы перейти в thetvdb
и вернуть то, что мне нужно.
Вот пример того, как он должен быть возвращен, если вы отправляете параметр строки со словом "все": http://www.thetvdb.com/api/GetSeries.php?seriesname=all&language=en
Какие-либо предложения?
по крайней мере, ваш путь nodejs должен вернуть строку в ответе:
app.get('api/shows/:search', function(req, res, next) {
request.get('http://thetvdb.com/api/GetSeries.php?seriesname=' + req.params.search, function (error, response, body) {
console.log(error, response, body);
res.end(body);
});
});
req.params.search
содержит значение?