-4

我正在编写一个函数,该函数返回一个 JSON 对象,其中包含来自 Flickr API 的信息。全局变量data在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); 
});
4

2 回答 2

2

您不需要 parseJSON。getJSON 回调的结果已经解析成 JS 数据结构

于 2013-04-06T21:10:13.337 回答
2

$.getJSON是异步的,所以需要注册一个回调:

$.getJSON('url', function(data) {
    // Work with data
});
于 2013-04-06T21:10:51.290 回答