Skip to content

Instantly share code, notes, and snippets.

@rssilva
Last active December 11, 2015 18:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rssilva/4638989 to your computer and use it in GitHub Desktop.
Save rssilva/4638989 to your computer and use it in GitHub Desktop.
//Aqui declaramos todas as variáveis que serão usadas
var requisicao = null,
serverResponse = null,
parsedData = null;
//esse callback (SIM, olha ele aí de novo) será chamado
//quando o evento 'onreadystatechange' for disparado
var meuCallback = function (data) {
//um parâmetro 'data' é passado para o callback quando este é chamado
//chamado duas vezes imprimindo o seguinte
//1 4
//4 4
console.log(this.readyState, this.DONE);
//a requisição tem 4 estados diferentes, mas
//quando 'readyState' for igual a 'DONE'
if (this.readyState === this.DONE) {
console.log(this.response);
}
}
window.onload = function () {
//passamos uma função como callback para o 'onclick' do botão
document.getElementById('button-ajax').onclick = function () {
//requisicao é um novo objeto XMLHttpRequest ()
requisicao = new XMLHttpRequest();
//olha o nosso callback aí...
requisicao.onreadystatechange = meuCallback;
//o método open 'abre' a requisição. Três parâmetros são passados
//'GET', que é o tipo de requisição,
//a url para onde será feita a requisição
//e o parâmetro async, que vamos passar como false e abordá-lo
//num outro momento
requisicao.open('GET', 'ajax-sem-jquery-backend.php', false);
//'send' é o método responsável por enviar dados para o servidor
//No exemplo de hoje, vamos adquirir os dados, somente
requisicao.send(null);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment