Skip to content

Instantly share code, notes, and snippets.

@matheusrod92
Created July 30, 2018 18:47
Show Gist options
  • Save matheusrod92/bf455699fb100950dffa8e5270592917 to your computer and use it in GitHub Desktop.
Save matheusrod92/bf455699fb100950dffa8e5270592917 to your computer and use it in GitHub Desktop.
function getIp() {
//inicializo a classe de requisições
const xhr = new XMLHttpRequest();
//defino o metodo a ser utilizado (get/post/put/patch/delete)
const method = 'GET';
//defino a url que sera utilizada na minah requisição
const url = 'https://ipapi.co/json/';
//inicializo a requisição passando o metodo e a url e afirmo que minha requisição sera SINCRONA utilizando o false
xhr.open(method, url, false)
//executo a requisição configurada acima
xhr.send();
//verifico o estado da reposta dada pela api, o estado 200 caracteriza uma resposta correta
//caso a resposta seja correta (200) então eu prossigo com meu codigo e retorno o ip
if(xhr.status == 200) {
//transformo a resposta que veio com o formato de texto
const respostaJson = JSON.parse(xhr.response);
//acesso a propriedade ip e adiciono ele na div
return respostaJson.ip;
}
//caso tenha algum erro na api retorno a mensagem de erro
return 'ERRO: Ocorreu algum problema com nossa api';
}
console.log(getIp());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment