jQuery Flickr REST API 调用什么也不返回?
我创建了一个 Flickr 帐户,创建了一个应用程序并获取了我的 API 密钥,创建了一些照片集并使用其 API 资源管理器测试了 API 调用,以获取要调用的以下 URL:
在浏览器中这很好用,但是通过 jQuery 调用它绝对不会返回任何内容 - 使用 FireBug 检查它。
这是我的 jQuery 代码:
var url = 'http://api.flickr.com/services/rest/?method=flickr.photosets.getList&api_key=78ac01418165186ee9be695c61a5d53f&user_id=21466829%40N07&format=json';
$.getJSON(url, function (data) {
var list = $("<ul></ul>");
$.each(data.photosets.photoset, function (i, set) {
var link = $("<a/>").attr("title", set.description._content)
.attr("href", "http://www.flickr.com/photos/mjryall/sets/" + set.id)
.text(set.title._content);
var li = $("<li/>").append(link).append(" (" + set.photos + ")");
$(list).append(li);
});
$("#flickr-sets").append(list);
});
我还将此应用程序的网站、标签和权限设置为公开。这应该是理所当然的——我在这里错过了什么?
I create a Flickr account, create an app and got my API key, created a few photo sets and tested the API call using their API explorer to get the following URL to call:
In the browser this works great, but calling this via jQuery returns absolutely nothing - checked it using FireBug.
Here is my jQuery code:
var url = 'http://api.flickr.com/services/rest/?method=flickr.photosets.getList&api_key=78ac01418165186ee9be695c61a5d53f&user_id=21466829%40N07&format=json';
$.getJSON(url, function (data) {
var list = $("<ul></ul>");
$.each(data.photosets.photoset, function (i, set) {
var link = $("<a/>").attr("title", set.description._content)
.attr("href", "http://www.flickr.com/photos/mjryall/sets/" + set.id)
.text(set.title._content);
var li = $("<li/>").append(link).append(" (" + set.photos + ")");
$(list).append(li);
});
$("#flickr-sets").append(list);
});
I have also set the website, tag and permissions to public for this app. This should be a no brainer - what am I missing here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将“&nojsoncallback=1”添加到您的网址末尾,它应该可以工作。
问题是,如果没有它,Flickr 将使用函数包装器返回数据。 jsoncallback 参数告诉它向您发送原始 JSON。
请参阅此处的“回调函数”部分: http://www.flickr.com /services/api/response.json.html
Add "&nojsoncallback=1" to the end of your url and it should work.
The problem is, without it Flickr is returning the data with a function wrapper. The jsoncallback param tells it to send you raw JSON.
See the "Callback Function" section here: http://www.flickr.com/services/api/response.json.html