【发布时间】:2012-04-11 22:57:59
【问题描述】:
嗨,我正在调用这个函数:
function getCoordenadas()
{
var coordenadas = new Array();
$.post(
'<?=$this->baseUrl('user/parse-kml')?>',
{ kmlName: "esta_chica.kml"},
function(jsonCoord) {
jQuery.each(jsonCoord, function(i, val) {
var latlng = val.split(',');
coordenadas.push(new google.maps.LatLng(latlng[0], latlng[1]));
});
},
'json'
);
return coordenadas;
}
像这样:
$(document).ready(function(){
$('.caller').click(function() {
console.log(getCoordenadas());
});
});
因此,当您单击 .caller 时,它会调用函数获取数据正确填充数组,但 console.log(getCoordenadas());输出 []。
如果我将数组声明 (var coordenadas = new Array();) 从函数范围移动以使其成为全局,当我第一次单击 .caller 时 console.log(getCoordenadas());输出[],但第二次正确输出数组。有什么想法吗?
提前致谢
【问题讨论】:
标签: javascript jquery ajax arrays return