我正在编写一个返回包含Flickr API信息的JSON对象的函数。 全局变量数据在firebug的控制台中返回一个json对象,data.responseText也打印出相关信息。但是,在代码中调用jsonthing = data.responseText会导致某些内容未定义。
最终,我只想使用parseJSON(data.responseText)来创建一个JSON对象,令人惊讶的是它在firebug控制台中工作,而不是在代码中。
任何想法?
$(function () {
var apiKey = 'somekeyhere';
data = $.getJSON(
'http://api.flickr.com/services/rest/?&method=flickr.people.getPublicPhotos&api_key=' +
apiKey + '&user_id=29096781@N02&format=json&per_page=5&nojsoncallback=1');
hi = '2';
jsonthing = data.responseText;
jsonobj = jQuery.parseJSON(data.responseText);
$('#Test').html(data.toString());
//$('#Test').html(data.photos.photo.title);
});
答案 0 :(得分:2)
您不需要parseJSON。 getJSON回调的结果已经解析为JS数据结构
答案 1 :(得分:2)
$.getJSON
是异步的,因此您需要注册回调:
$.getJSON('url', function(data) {
// Work with data
});