Jquery全局访问数据,将其推送到对象中

时间:2013-02-17 19:00:44

标签: jquery

我有一个通过AJAX调用拉入数据的函数。我正在创建一个我想在其他函数中访问的对象。所以我想将数据发送到另一个全局对象。

这是当前的javascript:

var foursquareMapData = [];

function MapData() {

    $.ajax({
        dataType: 'jsonp',
        url: 'https://s3.amazonaws.com/sxsw_trending/sxsw_trending.json',
        jsonp: "callback",
        jsonpCallback: "sxswTrending",
        success: function (data) {
            //console.log(data);
            // var foursquareMapData = [];
            for (var i = 0; i < data.Trending.length; i++) {

                var mapData = {
                    index: i + 1,
                    lat: data.Trending[i].lat,
                    lng: data.Trending[i].lng,
                    count: data.Trending[i].hereNow,
                    address: data.Trending[i].address
                }
                //console.log(mapData);
                foursquareMapData.push(mapData);
            }
            //console.log(foursquareMapData);
        }
    });

}
console.log(foursquareMapData);

将'mapData'对象推入foursqureMaData似乎不起作用。我可能不会这么做吗?

1 个答案:

答案 0 :(得分:0)

那是因为你在ajax调用结束之前调用了控制台日志。尝试在ajax成功函数结束时输出它,然后它应该是正确的。

[编辑]
哦,刚看到你在成功函数结束时已经有了一个console.log。没有显示正确的数据?

[EDIT2]
你可以在某个地方拨打MapData(),对吗?因为它不在您的代码中。