将API数据存储在全局变量jquery中

Posted

技术标签:

【中文标题】将API数据存储在全局变量jquery中【英文标题】:Storing API data in global variables 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);

如何让异步函数中的变量成为全局变量?

【问题讨论】:

【参考方案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 ;

);

【讨论】:

【参考方案3】:

在声明你想要全局的变量时不要使用 var

【讨论】:

以上是关于将API数据存储在全局变量jquery中的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP 中处理 JSON API 响应以将数据存储为变量

将数据从寄存器复制到全局存储器

全局局部变量,数据的存储类别

在iphone的数据库中存储全局本地时间变量

使用 jQuery 编写应用程序 - 如何存储变量?

如何在变量Fetch API中存储异步数据