【问题标题】:Storing API data in global variables jquery将API数据存储在全局变量jquery中
【发布时间】:2016-05-21 11:32:04
【问题描述】:
var position= $.getJSON( "http://ip-api.com/json", function( data ) {
position = {lon: data.lon, lat: data.lat}
return position;
});
var lon = position.lon;
var lat = position.lat;
console.log(lon);
如何让异步函数中的变量成为全局变量?
【问题讨论】:
标签:
jquery
json
geolocation
【解决方案1】:
试试这个,这是个好方法
window.onload = function() {
set();
setTimeout(get,2000);;
};
function set() {
$.getJSON( "http://ip-api.com/json",function(data) {
var position = {"lon": data.lon,"lat": data.lat};
document.getElementById("id").value= position;
});
}
function get() {
var k = $("#id").val();
console.log(k);
}
【解决方案2】:
我想通了。我使 ajax 函数不像这样异步:
$.ajax({
async: false,
url: "http://ip-api.com/json",
success: function(data) {
console.log(data);
position = { lon: data.lon, lat: data.lat };
}
});