Как сделать запрос на получение маршрута и получить информацию из API?

0

Я пытаюсь выполнить запрос 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

Какие-либо предложения?

  • 0
    req.params.search содержит значение?
  • 0
    @chresse chresse Я не знаю почему, но я пытаюсь сделать console.log в Nodejs. Я ничего не вижу в терминале.
Показать ещё 5 комментариев

1 ответ

1
Лучший ответ

по крайней мере, ваш путь 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);
  });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню