2011-01-13 119 views
0

我對AJAX還很陌生,我正在試用Twitter和Flickr。 Twitter目前運行良好,但我遇到了Flickr API的一些問題。使用Flickr JSON請求時沒有返回結果

我沒有收到任何結果。該URL似乎工作正常,我指着正確的對象包含數組('項目')。有人可以告訴我我做錯了嗎?謝謝!

 $('#show_pictures').click(function(e){ 
    e.preventDefault(); 
    $.ajax({ 
     url: 'http://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=home&nojsoncallback=1', 
     dataType: 'jsonp', 
     success: function(data) { 
     $.each(data.items, function(i, item){ 
      $('<div></div>') 
      .hide() 
      .append('<h1>'+item.title+'</h1>') 
      .append('<img src="'+item.media.m+'" >') 
      .append('<p>'+item.description+'</p>') 
      .appendTo('#results') 
      .fadeIn(); 
     }) 
     }, 
     error: function(data) { 
     alert('Something went wrong!'); 
     } 
    }); 
    }); 

編輯:我已經改變了URL,我得到一個錯誤的報告早在Firefox中:「無效的標籤」,就在根範圍內的「標題」對象。

回答

0

儘量評論了這一點:

$('<div></div>') 
     .hide() 
     .append('<h1>'+item.title+'</h1>') 
     .append('<img src="'+item.media.m+'" >') 
     .append('<p>'+item.description+'</p>') 
     .appendTo('#results') 
     .fadeIn(); 

而只是做

console.log(data); 

如果你正在使用螢火蟲(你可能應該是)或

alert(data); 

,將告訴你是否要求返回數據。僅供參考,我在你的url上運行curl並返回一堆json。

+0

不幸的是我沒有收到任何數據。太奇怪了。我已將網址更改爲http://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=home&jsoncallback=?&nojsoncallback=1,因此我可以刪除「(」和「) 「JSON中的字符......但這似乎沒有幫助。 – Martijn1981 2011-01-13 11:16:19

0

是否使用dataType: 'json'而不是dataType: 'jsonp'有什麼區別?

+0

它確實,在我的$ .ajax調用的「錯誤」對象突然顯示的情況下:P。但除此之外,不。仍然不顯示任何圖像。 – Martijn1981 2011-01-13 13:23:52