打印Flickr API对控制台AngularJS的响应

时间:2015-02-06 19:34:08

标签: javascript angularjs flickr ngresource

我目前正在努力使API调用工作,并希望查看它是否设法从外部源返回API数据。

  1. 如何从app.js文件中将输出打印到控制台,以便在这种情况下我可以看到是否已经返回了API调用?/有没有更好的方法来执行此操作?我失踪了吗?

  2. 我应该使用$ http还是$ resource?

  3. 当前代码: JS / app.js

    var app = angular.module('imageViewer', ['ng', 'ngResource']);
    
      function AppGallery($scope, $http) {
        $http.jsonp('https://api.flickr.com/services/feeds/photos_public.gne?').success(function (data) {
          $scope.data = data;
          log(data);
        });
      }; 
    <!DOCTYPE html>
    <html ng-app="imageViewer">
    <head>
      <title>Photo Viewer</title>
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.12/angular.js"></script>
      <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.12/angular-resource.js"></script>
      <script src="js/app.js"></script>
    </head>
    
    <body ng-controller="AppGallery">
    
      {{data}}
    
    </body>
    </html>

2 个答案:

答案 0 :(得分:4)

这实际上有点不同。您将不得不定义回调函数jsonFlickrFeed。请检查以下代码。

你会注意到两件事: -

  • 我们使用参数?format = json请求数据。 Check the response here.
  • 您注意到即将发出的响应是寻找回调函数jsonFlickrFeed。只需将数据处理程序定义到此函数中即可。

&#13;
&#13;
  var app = angular.module('imageViewer', ['ng', 'ngResource']);

  app.controller('AppGallery',[ '$scope','$http', function AppGallery($scope, $http) {
    $http.jsonp('https://api.flickr.com/services/feeds/photos_public.gne?format=json').success(function (data) {
      
    });
	
	jsonFlickrFeed = function(data){
	$scope.data = data;
	 console.log(data);
	}
  }]);
&#13;
<!DOCTYPE html>
<html ng-app="imageViewer">
<head>
  <title>Photo Viewer</title>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.12/angular.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.12/angular-resource.js"></script>
  <script src="js/app.js"></script>
</head>

<body ng-controller="AppGallery">

  {{data}}

</body>
</html>
&#13;
&#13;
&#13;

希望这有帮助!如果有,请标记为答案!谢谢!

答案 1 :(得分:0)

要避免使用jsonp,请添加以下查询参数:

&nojsoncallback=1

请参阅:https://www.flickr.com/services/api/response.json.html