【发布时间】:2011-11-04 01:38:06
【问题描述】:
谁能告诉我我在这里做错了什么?
我正在尝试构建图像 URL,但使用的是 flickr.photos.search 方法 现在(我需要显示接近访问者地理位置的图像),我有它 之前使用 groups_pool.gne 并且 JSON 提要不同(更简单) 格式化但现在..
URL 工作正常,我得到了包含我需要的所有数据的数组(农场、服务器、 secret 和 id),但无法构造照片的 url。
$.getJSON("http://api.flickr.com/services/rest/?method=flickr.photos.search&api_\
key=KEY&format=json&privacy_filter=0&media=photos&has_geo=1&accuracy=13&sort=int\
erestingness-desc&content_type=1&per_page=32&extras=geo,owner_name&page=1&radius\
_units=km&radius=1.521739&lat=40.952532&lon=-4.1326349999999366&text=Alcazar&jso\
ncallback=jsonp1320163051486", getJSONimages);
function getJSONimages(data) {
var htmlString = "";
$.each(data.photos.photo, function(i,item){
htmlString += '<img src="http://farm'+ item.farm +'.static.flickr.com/'+
item.server +'/'+ item.id +'_'+ item.secret +'_m.jpg" />';
});
$('#slideshow').html(htmlString);
谢谢。
我已经在附加内容中添加了 url_m,在 URL 中获取 JSON 提要,我在提要中获得了完整的 URL,这应该会有所帮助,因为我不必连接其余部分,但仍然无法工作。
我无法让它工作,这非常令人沮丧,因为我知道这很简单。 好吧,显然不适合我。
这是我的函数,在我得到循环中的 url_m 之后:
function getJSONimages(data) {
var htmlString = "";
$.each(data.photos.photo, function(i,item){
// var url = (item.url_m).replace("\", "");
htmlString += '<img src="' + item.url_m + '" />';
});
$('#slideshow').html(htmlString);
}
即使我使用“url”变量或不使用,同样的结果。
但是,我注意到了一些事情。
在使用 groups_pool.gne 的提要中,我可以从中提取照片 成功了,我就这样去 media.m 了:
$.each(data.items, function(i,item){
var biggestSize = (item.media.m).replace("_m.jpg", ".jpg");
htmlString += '<img src="' + biggestSize + '" />';
请注意,我有项目,然后是媒体,然后是带有其自身价值的 m!实际上是 项目。[媒体:{m:PHOTOURL}]。
在使用 flickr.photos.search 方法的其他 JSON 提要中,我有 以下“对象路径”: jsonFlickrApi.photos.photo[{url_m:PHOTOURL}]
并尝试使用这个循环:
$.each(data.photos.photo, function(i,item){
htmlString += '<img src="' + item.url_m + '" />';
我认为这是我的问题,但我不知道如何解决它。它是 显然这两个提要之间存在不同的结构:
项目。[媒体:{m:PHOTOURL}] 照片.照片[{url_m:PHOTOURL}]
我将更多地研究 jQuery 循环。有什么想法吗?
【问题讨论】:
-
如果 .html() 功能不起作用,您可以使用 .append() 代替。 $('#slideshow').append(htmlString);我尝试测试您的代码,但未接受 api 密钥。
-
您获取的 URL 远不能按原样使用。似乎有命令行换行符转义(行尾的斜杠)。那只是在stackoverflow上吗?还值得一问:您已经用您的实际 API 密钥替换了
KEY对吗?而jsoncallback=blah——通常由 jQuery 之类的东西添加并标识一个唯一的请求。这只是一个示例,还是您一遍又一遍地尝试相同的回调? -
@Andre Dublin,如果您想尝试,我已将密钥通过电子邮件发送给您。在那之后我可以尝试追加,但这令人沮丧,因为我之前能够使用另一个 JSON 提要构建一个 URL,只是格式不同并且它有效。你可以在这里看到它:[链接]www.demetriad.co.uk/flickr-test
-
@editor,是的,我已经更换了钥匙。我试过在 URL 中使用和不使用回调,没有区别。
标签: javascript jquery json getjson flickr