O Que AJAX
AJAX é carregar uma página, utilizando recursos de scripts rodando pelo lado cliente, buscando e carregando dados em background sem a necessidade de reload da página.
Segundo Samy “trata-se de uam técnica de carregamento de conteúdo em uma página web com uso de JavaScript e XML,TXT, PHP,ASP, JSON ou qualquer linguagem de marcação ou de programação capaz de ser recuperada de um servidor.” Livro JavaScript guia do Programador, Pag. 537.
Como o AJAX trabalha
Enquanto em uma aplicação Web clássica o navegador tem que ir buscar as informações no servidor e retornar para o cliente, no Ajax ocorre de forma diferente. No carregamento da página, toda a lógica de processamento de dados é passado ao cliente. Quando o usuário faz uma requisição, quem busca e trás essas informações é o JavaScript, de forma assíncrona, não causando assim o chamado “reload” na tela. O tratamento dos dados, seu formato e exibição fica toda por conta do script que foi carregado inicialmente quando se acessou a página. O processo inicial de carregamento é mais lento que de uma aplicação comum, pois muitas informações são pré-carregadas. Mas depois, somente os dados são carregados, tornando assim o site mais rápido. Há duas maneiras de se fazer uma requisição com um objeto XMLHttpRequest, uma é síncrona, outra assíncrona.
Síncrona
É quando você manda o objeto fazer uma requisição, o seu script é interrompido esperando pelo retorno.
Assíncrona
A requisição é feita em segundo plano e seu script continua a ser executado. Em modo síncrono, você tem o problema de ter seu navegador congelado enquanto seu script é executado.