回调函数被调用两次

时间:2014-04-16 06:36:05

标签: javascript jquery json

所以我对Javascript相对较新,我遇到了检索JSON数据的问题,即它被调用两次。具体来说,getData函数获取JSON数据,然后检索JSON对象并执行plotMarkers函数(我正在使用Google Maps API)。在检查控制台时,回调函数运行两次,这意味着列表项被追加两次。我该如何解决这个问题?

特定代码段:

    function initialize() {
        geocoder = new google.maps.Geocoder();

        var myOptions = {
            zoom: 10,
            center: new google.maps.LatLng(-37.811748, 144.962886),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

        getData();
    }

    function getData() {
        jQuery.ajax({
            url: 'https://dl.dropboxusercontent.com/u/9546194/gigs.json',
            dataType: 'json',
            success: function(results) {
                plotMarkers(results.gigs);
            }
        });
    }

Full code link

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:4)

摆脱onload="initialize()"中的body

google.maps.event.addDomListener(window, 'load', initialize);<body onload="initialize()"都在调用initialize