$ .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" });