2012-05-06 22 views
2

私のURLが正常に動作しているが、動作するように呼び出すことができないことを確認しました。誰がここで何が間違っているのか見ていますか?ありがとう。jsonコールバックflickr api

<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

を放火犯でこのエラーを取得: JSON.parse:JSONデータ

後の予想外の非空白文字を
+0

これをChromeまたはFirebugで試してみると、ネットパネルは答えとして何を表していますか? jsonlint.comで返されたJSONを検証することをお勧めします –

答えて

0

あなたのスクリプトはRSSフィードのような構造(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' 
    }); 
    }); 
});​ 

注意URL内の "エキストラ= url_m" を含めると、data.photos.photoとitem.url_mへの変更:

ではなく、これを試してみてください。