0

我有一个通过 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 似乎不起作用。我可能没有正确地做到这一点?

4

1 回答 1

0

那是因为您在 ajax 调用完成之前调用了控制台日志。尝试在 ajax 成功函数的末尾输出它,那么它应该是正确的。

[编辑]
哦刚刚看到你在成功函数的末尾已经有一个 console.log 了。那不是显示正确的数据吗?

[edit2]
你确实在MapData()某个地方打电话,对吧?因为它不在您的代码中。

于 2013-02-17T19:04:18.627 回答