我正在尝试使用$resource
从Angular执行get / query请求到指定的路由,该路由将ping API,然后我应该得到一个结果来自API的对象。
这是一个搜索功能。请参阅此问题的流程:
角度服务:
angular.module('MyApp')
.factory('Search', function($resource) {
return $resource('/api/shows/:_search');
});
控制:
$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
param是来自Angular的字符串,用于转到thetvdb
并返回我需要的内容。
以下是一个例子,说明如果你发送带有“all”字样的字符串参数,它应该返回什么:http://www.thetvdb.com/api/GetSeries.php?seriesname=all&language=en
有什么建议吗?
答案 0 :(得分:1)
至少你的nodejs route必须在响应中返回字符串:
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);
});
});