这是我想做的事情:
$.getJSON( "http://api.openweathermap.org/data/2.5/weather?lat="+latitude+"&lon="+longitude", function(data) {
fh = data;
});
我正在尝试做一个
console.log(fh);
$ .getJSON之外
是否可以在此函数之外获取fh var?
我正在尝试这样做,并在控制台上显示了一个错误:
未捕获的ReferenceError:未定义fh
最佳答案
您应该将fh
创建为全局变量,然后将其允许在getJSON
方法内进行更新并在方法外部进行访问。
它将等于undefined
,直到从getJSON请求接收到对服务器的响应为止。
因此,要使其正常运行,您应该使用setTimeout
。实际上,您应该使用promises
,但这可能不在问题范围内。只要服务器在2秒钟内做出响应,fh
的值就会设置为从服务器返回的数据。
下面的代码演示了这一点。
var fh;
$.getJSON("http://api.openweathermap.org/data/2.5/weatherlat=" + latitude + "&lon=" + longitude, function(data) {
fh = data;
});
setTimeout(function(){
console.log(fh)
}, 2000);
关于javascript - 在功能之外获取值(value),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41579928/