我正在创建一个Web应用程序,要求用户输入一些关键字/标签,查询Flickr API(JSON),然后显示包含这些标签的照片列表。我不断收到下面照片中显示的错误,并且没有得到Flickr的任何回复(空响应)。
有谁知道这里发生了什么?我认为这与Same-Origin政策有关。
以下是我的脚本代码:
function loadData() {
var city = $("#city").val();
var country = $("#country").val();
var flickrURL = "https://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=cgtrey1a7cea9e78965a42f773f01928&tags=" + country + "," + city + "&format=json&nojsoncallback=1";
$.getJSON(flickrURL,function(flickrData){
var photoUrlArray = [];
for (var i = 0; i < flickrData["photos"]["photo"].length; i++) {
var photo = flickrData["photos"]["photo"][i];
var photoId = photo["id"];
var photoSecret = photo["secret"];
var photoServer = photo["server"];
var photoFarm = photo["farm"];
var url = "https://farm" + photoFarm + ".staticflickr.com/" + photoServer + "/" + photoId + "_" + photoSecret + ".jpg";
photoUrlArray.push(url);
};
for (var i = 0; i < photoUrlArray.length; i++) {
var img = "<img id=\"flickr-image\" src=\""+ photoUrlArray[i] + "\">";
$("flickr-conttainer").append(img);
};
}).error(function(e){alert(e)});
};
$('#form-container').submit(loadData);
答案 0 :(得分:0)
在flickrURL字符串中,您有“format = jsonp”但jsonp不是可用选项,您应该使用“format = json”。
此外,您的api密钥似乎由Flickr的Explore提供,并且有效期为一天。您可以在flickr.com中请求permament API密钥。
https://www.flickr.com/groups/api/discuss/72157663968579450/
的更多信息