Javascript 如何在函数外使用变量?
我想在Javascript 如何在函数外使用变量?,javascript,jquery,Javascript,Jquery,我想在getJSON之外使用country,但结果不正确。尝试定义单击函数的变量top,但未解决我的问题 如何修复它?改变您的方法以使用ajax的异步特性 假设您想在函数中使用country $('#liveUpdate').click( $.getJSON("http://freegeoip.net/json/", function(data) { var country = data.country_name; var ip
getJSON
之外使用country
,但结果不正确。尝试定义单击
函数的变量top,但未解决我的问题
如何修复它?改变您的方法以使用ajax的异步特性 假设您想在函数中使用country
$('#liveUpdate').click(
$.getJSON("http://freegeoip.net/json/", function(data) {
var country = data.country_name;
var ip = data.ip;
});
alert(country);
});
然后在ajax的成功回调中调用它
function someFunction(country){
//country used here
}
您可以尝试
$('#liveUpdate')。单击(function(){var country=null;$.getJSON('http://freegeoip.net/json/“,函数(数据){country=data.country_name;var ip=data.ip;});警报(country);})代码>@Sushil:那不行。AJAX是异步的。@Bergi-Heh,当我用同一个目标点击close时,你说得对:)你说得对@RocketHazmat他可以直接使用$。AJAX
与异步:false
@Sushil:我不建议这样做,这是一种不好的做法。它会锁定浏览器,不会教您如何正确使用AJAX。
$('#liveUpdate').click(function(){
$.getJSON("http://freegeoip.net/json/", function(data) {
country = data.country_name;
var ip = data.ip;
someFunction(country);
});
});