我要撕掉我的眼睛然后吃掉它们。我正试图从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文件是本地文件。
由于
答案 0 :(得分:0)
由于same-origin policy,您无法使用AJAX从其他主机检索数据。
如果其他主机支持jsonp
,则可以使用jsonp
。它解释了如何在jQuery manual中使用{{1}}和jQuery。在Flickr的特定情况下,有一个blogpost解释了如何将jsonp与flickr一起使用。
答案 1 :(得分:0)
因为它是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"
});