我对理解我正在尝试做的所有事情仍然很陌生,所以我需要一些帮助来了解什么是破坏我的代码。简而言之,我想获取包含照片信息的 json 结果,并将某些参数定位在我需要使用的 vars 中。
这段代码可以在 jsfiddle 中找到。它显示 Flickr 照片所有者的用户名。
$.getJSON('http://api.flickr.com/services/rest/?&method=flickr.photos.getInfo&api_key=' + apiKey + '&photo_id=' + photoId + '&format=json&jsoncallback=?',
function(data) {
var photoOwner = $.parseJSON(JSON.stringify(data.photo.owner.username));
$('#photoInfo').html(photoOwner);
});
当我将此代码放回我的 JS 文件的其余部分时,它会给出错误...
Uncaught TypeError: Cannot read property 'owner' of undefined
下面是我的 JS 文件的简化版本(减去 apiKey 和 photoId 变量)。
(function () {
var s = document.createElement('script');
s.setAttribute('src', 'http://jquery.com/src/jquery-latest.js');
s.onload = function () {
jQuery.noConflict();
(function ($) {
$.getJSON('http://api.flickr.com/services/rest/?&method=flickr.photos.getInfo&api_key=' + apiKey + '&photo_id=' + photoId + '&format=json&jsoncallback=?',
function(data) {
var photoOwner = $.parseJSON(JSON.stringify(data.photo.owner.username));
$('#photoInfo').html(photoOwner);
});
}(jQuery));
};
document.getElementsByTagName('body')[0].appendChild(s);
}());
所以我知道代码有效......我只是不知道为什么当我将它放入我的 JS 文件时它会停止工作。任何帮助、建议、解释或更好的方法将不胜感激。