json回调flickr api

时间:2012-05-06 16:47:35

标签: json api callback flickr

我已经检查过我的网址工作正常,但无法接听电话。有谁看到这里可能有什么问题?感谢。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
  $(document).ready(function() {
    $.getJSON("http://api.flickr.com/services/rest/?method=flickr.photos.search&
    api_key=e4a2bd36f274dc8cbec976f87d31ac91&text=dandy&format=json&jsoncallback=?", function(data)
    {
       $.each(data.items, function(i,item){
       $("<img/>").attr("src", item.media.m).appendTo("#images")
      .wrap("<a href='" + item.link + "'></a>");
     });
       $('#images').cycle({
         fx: 'fade',
         speed: 'fast',
         timeout: 0,
         next: '#next',
         prev: '#prev'
      });
    });
 });

我还尝试过授权令牌和api签名:    http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=e4a2bd36f274dc8cbec976f87d31ac91&text=dandy&format=json&auth_token=72157629614542470-3c6e999c34de2fef&api_sig=1ba75b356a910f6b2872f356153075bf

在firebug中获取此错误: JSON.parse:JSON数据之后的意外非空白字符

1 个答案:

答案 0 :(得分:0)

您的脚本似乎期望RSS Feed类似于其中的项目(data.item,item.media.m等)。这不是从Flickr API返回的JSON数据的格式化方式。

请改为尝试:

$(document).ready(function() {
    $.getJSON("http://api.flickr.com/services/rest/?method=flickr.photos.search&  api_key=3a68f22971d8d66b521b362c312c175c&text=dandy&extras=url_m&format=json&jsoncallback=?", function(data)
    {
       $.each(data.photos.photo, function(i,item){
       $("<img/>").attr("src", item.url_m).appendTo("#images")
      .wrap("<a href='" + item.url_m + "'></a>");
    });
    $('#images').cycle({
        fx: 'fade',
        speed: 'fast',
        timeout: 0,
        next: '#next',
        prev: '#prev'
    });
    });
});​

请注意,在网址中包含“extras = url_m”,以及对data.photos.photo和item.url_m的更改。