Fazendo uma requisição assíncrona simples, com JQuery
Com o advento do ajax nós programadores estamos sempre utilizando essa ferramenta para um adicional em nossos sistemas. Seja carregando dados para preencher um dropdown, seja para carregar uma página inteira, as requisições assíncronas, junto do bom e velho “carregando…” viraram rotina em nossas vidas.
Tendo toda essa importância é claro que a JQuery não poderia não ter um módulo só para ajax. Vamos entender um pouco desse módulo da JQuery, e saber como incrementar nossa produtividade com ele.
Para essa nossa brincadeirinha vamos imaginar uma situação em que precisamos pegar as cidades de um estado escolhido por nosso usuário. Essa é uma situação bastante comum nos dias atuais. O usuário escolhe um Estado, nós carregamos as cidades daquele estado, e o usuário, então, escolhe a cidade.
Para isso, vou fazer um arquivo em php bem simples. Como o server-side foge do escopo deste post, vou colocar as cidades e estados como arrays mesmo.
Sendo assim, teremos 4 arquivos, a saber:
ajax.js (nosso javascript)
css.css (folha de estilos do nosso html)
get_xml.php (gerador do xml no servidor)
e teste.html (o nosso html para o exemplo)
Para realizar nossa chamada assíncrona com JQuery temos várias opções, que variam conforme sua necessidade. Vamos a algumas:
$.ajax( prop ) -> essa recebe um hash como parametro. Devemos especificar no hash as propriedades necessárias à requisição.
Ex.:
$.get( url, params, callback) -> uma chamada padrão do tipo “GET”. Params é um hash com pares atributo/valor para passar como parâmetros da url.
$.post( url, params, callback) -> como $.get(), mas este faz uma requisição do tipo “POST”.
Bom, já sabemos como utilizar, agora vamos ao nosso pequeno exemplo.
Começemos pelo HTML:
Este é uma página simples, com um formulário com dois dropdowns e um div que será nosso “carregando…”. Veja que não utilizamos nenhum evento dentro do html. Então estamos com lógica separada de conteúdo. Ótimo.
Vamos agora à nossa folha de estilos:
Aqui não tem muito segredo. Algumas cores, uma borda, e lá no final, a declaração que esconde o nosso “Carregando…”.
Vamos ver como ficou nosso arquivo de geração de xml no servidor, em php:
Aqui também nada demais. Talvez seja até simplório demais, mas como php não é a nossa intenção neste post, fiz assim mesmo, simplificado.
Agora o que realmente faz a coisa funcionar. Nosso arquivo javascript. O script está bem comentado, então acho que não teremos muitos problemas. Veja que nosso script tem menos de 50 linhas. Se acha muito, tente fazer isso no braço e verá como ficará. 🙂
Nosso script:
Simples, não?
Agora temos um dos processos mais utilizados hoje em dia, em apenas alguns minutos de códigos.
Então é isso, aproveite a biblioteca e crie outras brincadeiras, mas não esqueça de mostrar pra gente hein? 🙂
Comments