【发布时间】:2025-12-31 22:50:01
【问题描述】:
我昨天刚开始学习 AngularJS,并构建了一个应用程序来练习显示用户在搜索栏中输入的图像。
到目前为止我的代码
HTML
<body>
<div id="content" ng-app="FlickerApp" ng-controller="MainController">
<h3>Search images in real time!</h3>
<input type="text" ng-model="searchPic" />
<button class="btn btn-primary" ng-click="showPics()">Search</button>
<div id="flickerPics" >
<ul ng-repeat="ph in data.photo">
<li>
{{ ph.id }}
{{ response }}
<img src="https://farm{{ ph.farm }}.staticflickr.com/{{ ph.server}}/{{ ph.id}}_{{ph.secret}}.jpg"
style="width:304px;height:228px;">
</li>
</ul>
</div>
</div>
和 JavaScript
angular.module("FlickerApp",[]).controller("MainController",
function($scope, $http){
$scope.showPics = function () {
$http.get("https://api.flickr.com/services/rest/? method=flickr.photos.search&api_key=[API_KEY_HERE]&tags=" +$scope.searchPic+ "&in_gallery=1&is_getty=1&per_page=5&format=json&nojsoncallback=1")
.success(function(data){
$scope.data = data.photos;
}).error(function(data, status){
$scope.response = data + status;
});
}
});
我没有输入 API 密钥,因为我已经手动测试过,所以该 url 有效。
我正在 JSFiddle 上测试这个
【问题讨论】:
-
你能放一个来自这个 API 的响应示例吗?
-
我没有从 API 收到任何回复
-
这条线在做什么然后
$scope.data = data.photos;? -
添加以 JSON 形式发回的照片对象,这个东西之所以有效,是因为我在其他应用程序中使用过它,这里唯一的区别是我添加了一个按钮并在事件中有 get 方法,就像事件没有响应
-
@Manu 为什么你的网址中有空格?您是否在开发人员工具的网络选项卡中检查了响应?
标签: javascript angularjs json