I am new to JS and want to create a function that receives a given IP address and returns some information about it
function getDadoIP(IP){
var APIKey = 'key';
var format = 'json';
var url = 'http://api.ipinfodb.com/v3/ip-city/?key=' + APIKey + '&ip=' + IP + '&format=' + format + '&callback=?';
var resposta = $.getJSON(url);
resposta.then(function (res) {
var info = '';
for (var chave in res) {
info += res[chave] + ',';
}
console.log(info);
var dado = info.split(/,/);
return {
"codigoStatus": dado[0],
"codigoMensagem": dado[1],
"ipPesquisado": dado[2],
"codigoPais": dado[3],
"pais": dado[4],
"regiao": dado[5],
"cidade": dado[6],
"codigoZip": dado[7],
"latitude": dado[8],
"longitude": dado[9],
"fusoHorario": dado[10]
};
});
}
function setup() {
var dados = getDadoIP('IP-goes-here');
console.log(dados);
}
I am able to get the inormation I want in the function, as console.log(info)
displays what I expected. However, the returned value is undenfined
, as evidenced by console.log(dados)
. Would appreciate any help.