所以我对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);
}
});
}
非常感谢任何帮助!
答案 0 :(得分:4)
摆脱onload="initialize()"
中的body
。
google.maps.event.addDomListener(window, 'load', initialize);
和<body onload="initialize()"
都在调用initialize
。