为什么我的代码中出现此类错误:
“错误:jsonFlickrApi未定义”
$.getJSON('http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key=669158895706254986e97354a3c7e9a9&photoset_id=72157623477817483&extras=original_format&format=json&jsoncallback;=?',
function(data){
var classShown = 'class="lightbox"';
var classHidden = 'class="lightbox hidden"';
$.each(data.photoset.photo, function(i, rPhoto){
var basePhotoURL = 'http://farm' + rPhoto.farm + '.static.flickr.com/'
+ rPhoto.server + '/' + rPhoto.id + '_' + rPhoto.secret;
......
在JSON数据类型或其他方面存在syme问题,建议我如何修复它,请
由于
答案 0 :(得分:6)
你的网址结尾有点不对,这个:
....&jsoncallback;=?
应该是:
....&jsoncallback=?
jQuery使用动态命名的函数自行填充此方法(您的function(data)
转换为此命名函数或JSONP工作)。由于格式已关闭,因此未正确替换此格式,默认方法为jsonFlickrApi
。
如果您访问url directly(这是没有回调),您会看到它如下所示:
jsonFlickrApi({ ... })
如果你做提供回调(like this url),它看起来像这样:
myFunction({ ... })
这是jQuery 应该做的事情,但是由于格式错误的网址没有替换?
,修复它并且它会这样做,它会调用正确的方法,而不是默认方法。