Javascript 在函数外部传递引用变量
在使用json获取特定数据的函数中,我希望在变量中使用此数据,然后在另一个函数中使用它。问题是它对我不起作用 首先,使用json获取数据并在屏幕上就地打印,直到现在,当我将数据保存在变量中时,问题才开始出现Javascript 在函数外部传递引用变量,javascript,jquery,json,function,variables,Javascript,Jquery,Json,Function,Variables,在使用json获取特定数据的函数中,我希望在变量中使用此数据,然后在另一个函数中使用它。问题是它对我不起作用 首先,使用json获取数据并在屏幕上就地打印,直到现在,当我将数据保存在变量中时,问题才开始出现 function cargarPropuestas() { var peticionLoc = new XMLHttpRequest(); peticionLoc.open('GET', 'https://api.ipdata.co/es?api-key=b3ae31a7a743860888
function cargarPropuestas() {
var peticionLoc = new XMLHttpRequest();
peticionLoc.open('GET', 'https://api.ipdata.co/es?api-key=b3ae31a7a74386088875d7d285250b58778e13de985b2f561910b6bd');
peticionLoc.onload = function () {
var datosLoc = JSON.parse(peticionLoc.responseText);
var elementoLoc = document.createElement('div');
elementoLoc.innerHTML += (datosLoc.city + ', ' + datosLoc.country_name);
loc.appendChild(elementoLoc);
var country = datosLoc.country_name;
}
peticionLoc.send();
让我感兴趣的是这个多变的国家
这里问题开始了,因为当我“离开”requestLoc.onload=function(){}时,我无法调用变量COUNTRY来在下面使用它
我需要知道如何从函数中获取此变量的信息,以便使用该数据您可以在两个函数之外声明
国家
var country;
function cargarPropuestas() {
//...
peticionLoc.onload = function () {
//...
country = datosLoc.country_name;
}
peticionLoc.send();
}
为什么不在函数末尾返回该变量?@chevybow您不能。返回到
onload
是无用的,并且XMLHttpRequest
是异步的。您的建议是什么?将回调传递到cargarPropuestas()
中,并在调用它时使用country作为参数。彻底阅读页面顶部的链接,它返回未定义的链接