2010-07-09 76 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