我想在jquery函数外部使用一些变量,但我无法使它们成为全局变量。我已经按照第一个'var'的建议,然后分配它们,但最后一个log()返回未定义。jquery全局变量失败
var lat,lon;
$.get('ip.json',function(data) {
var loc=data['loc'];
lat=loc.split(',')[0];
lon=loc.split(',')[1];
},'json');
console.log(lat,lon);
更新这里是完整的代码
var lat,lon;
$.get('ip.json',function(data) {
console.log(data);
var city=data['city'];
var loc=data['loc'];
lat=loc.split(',')[0];
lon=loc.split(',')[1];
$('body').append(' '+city+' '+lat+' '+lon);
},'json');
console.log(lat,lon);
$.get('apiurl?lat='+lat+'&lon='+lon+'&callback=test',function(data) {},'json'),
'$ .get()'是异步的。 'console.log()'行在ajax回调函数之前执行。 –
使用'$ .ajax()'并使其与'async:false'同步 – Brewal
@Brewal我曾说过,我会再说一遍,'async:false'永远不会是答案。 –