Jquery JSON Flickr API返回集合中的照片

12

我试图从Flickr获取指定的集合,然后使用JSON和REST API显示该集合中的图像。这是我正在使用的代码:

    $.getJSON("http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=xxx&set=72157623858739780&format=json&jsoncallback=?", function(data){
  $.each(data.items, function(i,item){
    $("<img/>").attr("src", item.media.m).appendTo("#images");
  });
});

我从示例中删除了API密钥。我的密钥包含在URL中,当我在浏览器中输入这个URL时,会返回以下错误:

jsonFlickrApi({"stat":"fail", "code":1, "message":"Photoset not found"})

我知道设置的ID是正确的,因为导航到 http://www.flickr.com/photos/23892838@N07/sets/72157623858739780/ 可以正常工作。

更新:

我设法让事情正常运作。以下是我的修订代码,以防其他人尝试解决这个问题。

function FlickrPhotoSet(){



    //SET API CALL BASED ON INPUT
    var apiCall = "http://api.flickr.com/services/rest/?format=json&method=flickr.photosets.getPhotos&photoset_id=THESET&per_page=10&page=1&api_key=XXX&jsoncallback=?";

    //PRINT API CALL (DEBUG)    
    $("<span>").html(apiCall+"<br>").appendTo("body");

    //SEND API CALL AND RETURN RESULTS TO A FUNCTION    
    $.getJSON(apiCall, function(data){

        //LOOP THROUGH DATA
        $.each(data.photoset.photo, function(i,photo){

        //LINK TO IMAGE SOURCE
        var img_src = "http://farm" + photo.farm + ".static.flickr.com/" + photo.server + "/" + photo.id + "_" + photo.secret + "_" + "s.jpg";

        //LINK TO IMAGE PAGE (REQUIRED BY FLICKR TOS)
        var a_href = "http://www.flickr.com/photos/" + data.photoset.owner + "/" + photo.id + "/";

        //PLACE IMAGE IN IMAGE TAG AND APPEND TO IMAGES DIV 
        $("<img/>").attr("src", img_src).appendTo("#image_block")

        //WRAP IN LINK
        .wrap(("<a href='" + a_href + "'></a>"))
      });

    });


};

上面的问题是什么?你的意思是闪烁没有返回数据吗? - kobe
1
直接在浏览器中输入网址,如果出现相同的错误数据,则意味着您的网址数据有误,在JavaScript中没有问题。 - kobe
1个回答

2

谢谢!我决定采用纯JavaScript的方法,并且已经让它工作了。 - Elliott Bowles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接