$ .getJSON语法问题

我要撕掉我的眼睛吃掉它们。 我正试图从flickr中提取数据,显然我不知道我在做什么。

这有效:

var flickrAPI = "https://api.flickr.com/services/rest/api_key=xxxxx"; $.get(flickrAPI, { method: "flickr.photosets.getList", format: "json", user_id: "xxxxx" }, alert("ok") ); 

我被警告“确定”然而当我尝试使用function(){}代替alert()时……

 var flickrAPI = "https://api.flickr.com/services/rest/api_key=xxxxx"; $.get(flickrAPI, { method: "flickr.photosets.getList", format: "json", user_id: "xxxxx" }, function(data) {alert("ok");} ); 

什么都没发生。

另外,如果我将$ .get的返回值赋给变量,我将留下以下JSON对象:

 {"readyState" : "1"} 

这不是我想要的。 有任何想法吗? 值得注意的是,我正在使用的html文件是本地文件。

谢谢

由于同源策略,您无法使用AJAX从其他主机检索数据。

如果其他主机支持jsonp则可以使用jsonp 。 它解释了如何在jQuery手册中使用jsonp和jQuery。 在Flickr的特定情况下,有一篇博客文章解释了如何将jsonp与flickr一起使用。

因为它是API我认为它具有Access-Control-Allow-Origin标头,所以这应该工作

 $.ajax({ url: "https://api.flickr.com/services/rest/api_key=xxxxx", data: { method: "flickr.photosets.getList", format: "json", user_id: "xxxxx" }, success: function(data) {alert("ok");}, dataType: "json" });