我目前正试图使API调用的工作,想看看它是否已经成功地从外部源返回API数据。
如何打印从app.js文件输出到控制台,所以在这种情况下,我可以看到API调用是否已返回?/有没有这样做,我就是缺少一个更好的办法?
我应该使用$ 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>
这实际上都有所不同。 你必须定义回调函数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>
希望这可以帮助! 如果是这样,请标记为答案! 谢谢!
为了避免使用JSONP,添加以下查询参数:
&nojsoncallback=1
请参阅: https://www.flickr.com/services/api/response.json.html