印刷Flickr的API响应控制台AngularJS(Printing Flickr API Res

2019-10-21 19:54发布

我目前正试图使API调用的工作,想看看它是否已经成功地从外部源返回API数据。

  1. 如何打印从app.js文件输出到控制台,所以在这种情况下,我可以看到API调用是否已返回?/有没有这样做,我就是缺少一个更好的办法?

  2. 我应该使用$ http或$资源?

当前的代码: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> 

Answer 1:

这实际上都有所不同。 你必须定义回调函数jsonFlickrFeed。 检查下面的代码。

你会发现这里两件事情: -

  • 我们请求与参数?格式= JSON数据。 这里检查响应。
  • 你会发现,出来的反应是寻找一个回调函数jsonFlickrFeed。 只是定义了数据处理程序到这个功能,我们走吧。

  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); } }]); 
 <!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> 

  • 检查这里并获取更多信息。

  • 如果你正在使用jQuery你可以使用jQuery.getJSON代替 。 更多细节关于jQuery.getJSON。

希望这可以帮助! 如果是这样,请标记为答案! 谢谢!



Answer 2:

为了避免使用JSONP,添加以下查询参数:

&nojsoncallback=1

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



文章来源: Printing Flickr API Response to Console AngularJS