我正在尝试从NPR API调用文章列表。我有一个正常工作的URL,它以JSON返回。但是,在控制器的某个位置,我迷失了获取对象的位置。当我进行console.log测试时,它返回为[object Object],而没有其他返回。我的服务如下所示:

app.factory('nprService', function($resource) {
//call npr api
return $resource('http://api.npr.org/queryid=61&fields=title,byline,text,image,all&output=JSON...


和我的控制器:

app.controller('ArticleListCtrl', function($scope, nprService) {
//call the service and store as a variable
$scope.article = nprService.get();
});


我已经尝试使用查询来获取结果,就像这样,但是它返回的是单个JSON对象,因此显然不起作用。

//call the service and store as a variable
nprService.query(function(data) {
    $scope.article = data;
});


任何帮助将不胜感激。提前致谢。

最佳答案

您需要使用一个Promise构造来获取数据。控制器代码可以重写为:

app.controller('ArticleListCtrl', function($scope, nprService) {
//call the service and store as a variable
nprService.get().then(function(result){
    $scope.article = result.data;
});

关于javascript - AngularJS-API调用返回[对象对象],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24749655/

10-16 19:39