我正在使用jQuery对flickr API进行ajax调用
到目前为止,我已成功调用public photos API并显示结果。这是我使用的jQuery:
getPics = function(){
$.ajax({
url: 'http://api.flickr.com/services/feeds/photos_public.gne?format=json&jsoncallback=callbackForImages',
dataType: 'jsonp'
});
}
callbackForImages = function(data){
clearResults();
$.each(data.items, function(i, item) {
$("<img/>").attr("src", item.media.m).appendTo("#results");
});
}
但是当我尝试使用forums API时,我不知道如何格式化回调函数。
这是我到目前为止所拥有的。
getTopics = function(){
$.ajax({
url: 'http://api.flickr.com/services/feeds/forums.gne?format=json&jsoncallback=callbackForTopics',
dataType: 'jsonp'
});
}
callbackForTopics = function(data){
clearResults();
//this is the bit that's broken
$.each(data.items, function()) {
$("title").value.appendTo("#results");
}
}
clearResults = function(){
$("#results").html('<div id="results"></div>');
}
理解如何使用返回的JSONP的任何帮助都将不胜感激。
答案 0 :(得分:1)
获取部分似乎错了。尝试像
这样的东西$.each(data.items, function(idx,val) {
$("#results").append($('<div></div>').text(val.title));
});
答案 1 :(得分:1)
第一段代码之间的区别:
callbackForImages = function(data){
第二段代码:
callbackForTopics = function(){
您在功能定义中缺少data
参数。
另外,这很奇怪:
$("title").value.appendTo("#results");
不确定你的意思,但这肯定不起作用。
顺便说一句,使用浏览器开发人员工具(例如Firebug)可以很容易地捕获它
答案 2 :(得分:0)
由于Jack和Sofl提供的答案,我想出了该怎么做。我的回调方法应该如下:
callbackForTopics = function(data){
clearResults();
$.each(data.items, function(i, item) {
$("#results").append($('<div></div>').text(item.title));
});
}