在json对象操作之后加载数据

时间:2013-01-28 03:31:57

标签: jquery json facebook-graph-api

我正在关闭节点到facebook图表的两个调用,一个用于获取专辑ID列表,另一个用于获取该id的封面照片网址并将其添加到原始json对象中。

如何构建它以在循环之后对数据对象执行某些操作以获取并添加封面照片网址?当前代码仅包含循环之前的数据

 $('#main').on('click', '#albums', function() {
      $.get('/albums', function(data) {
           var a = 0;
           for (i = 0; i < data.data.length; i++) {
                $.get('/cover-photo?id=' + data.data[i].cover_photo, function(dataz) {
                     data.data[a].cover_photo_url = dataz.location;
                     a++;
                });
           }
      });
// do something with the data obj
});

1 个答案:

答案 0 :(得分:1)

据我所知,您的问题是您只能访问循环中的数据。解决这个问题的诀窍很简单。你只需要分配一个全局变量。这样做:

 var global_data="";
 $('#main').on('click', '#albums', function() {
      $.get('/albums', function(data) {
           var a = 0;
           for (i = 0; i < data.data.length; i++) {
                $.get('/cover-photo?id=' + data.data[i].cover_photo, function(dataz) {
                     global_data = data;
                     data.data[a].cover_photo_url = dataz.location;
                     a++;
                });
           }
      });
// now you could access global_data here
});