2010-07-09 58 views
0

我正在嘗試使用JQuery Ajax方法。我寫了一個簡單的Ajax請求來從Flickr獲取某些'標記'的照片。以下是我正在使用的代碼片段:JQuery Ajax請求不返回任何數據

function startSearch() { 
     $(function() { 
      var tagValue = $("#tagInput").attr("value"); 
      alert(tagValue); 
      $.ajax({ 
       url: "http://api.flickr.com/services/feeds/photos_public.gne?tags=" + tagValue + "&tagmode=any&format=json&jsoncallback", 
       dataType: 'json', 
       async: false, 
       success: function(data) { 
        alert("Success"); 
        $.each(data.items, function(i, item) { 
          var pic = item.media.m; 
          $("<img/>").attr("src", pic).appendTo("#images"); 
        }); 
       }, 
       error: function(data, error) { 
        alert("Error " + error); 
       } 

    }); }); 

'startSearch'與搜索按鈕關聯。用戶應該輸入一個'標籤'進行搜索,並點擊這個功能被調用。

問題是我沒有收到任何'數據'作爲迴應。因此沒有圖像顯示。

我在這裏做錯了什麼?

感謝&問候, 科亞

回答

0

我認爲問題是,你試圖使一個跨站請求,不因安全問題的工作。您可以改用JSONP,例如如http://www.viget.com/inspire/pulling-your-flickr-feed-with-jquery/

你也可以嘗試在這個網站上搜索「cross site ajax」,這裏有很多關於它的討論。

+0

實際上奇怪的是,當我嘗試單獨做同樣的事情而不是「Button Click」的一部分時,我得到了Flick feed。 這是否不屬於跨站請求?我對這個概念不太瞭解。我會檢查鏈接。 此致敬禮。 – Keya 2010-07-09 11:08:50

+0

你是什麼意思的「個人」?你到底是怎麼做的? – 2010-07-09 11:28:41

+0

單個我指的是頁面加載。否則,我的意思就像我之前說過的那樣,點擊按鈕。 – Keya 2010-07-09 12:08:59