Quando visualizamos determinados sites, buscamos os dados que estão nele. E uma página inteira normalmente não é suficiente para armazenar tudo o que queremos saber, portanto, é necessário vincular a página atual à próxima. Às vezes, porém, não precisamos alterar nem queremos alterar a página inteira, apenas uma determinada seção nela. Por exemplo, temos uma caixa de shoutbox em uma página, não queremos que a página inteira seja recarregada sempre que uma nova entrada aparecer na tela.
O primeiro a fornecer esse tipo de funcionalidade foi o Java, fornecendo pequenos applets compilados que podem carregar dados de forma assíncrona. Posteriormente, o AJAX forneceu ao padrão os codificadores permitidos para solicitar dados de forma assíncrona, a fim de alterar o carregamento de novos dados sem alterar a página da web..
Javascript, por outro lado, é uma linguagem de script do lado do cliente que permite a criação de páginas da web dinâmicas, proporcionando um novo nível de interatividade. A vantagem do JavaScript é que, como é um aplicativo do lado do cliente, ele pode criar páginas da web dinâmicas mais complexas do que o que um script do lado do servidor pode fazer. Os scripts do servidor são executados pela máquina host e, portanto, possuem recursos muito limitados, especialmente quando há muitas pessoas acessando esse servidor. Por estar no computador cliente, o Javascript tem muitos recursos para reproduzir, independentemente da atividade no servidor.
A principal desvantagem do Javascript é que ele é um candidato muito bom para que um cavalo de Tróia seja instalado no seu computador. Por ser executado no cliente, são autorizados alguns recursos que podem potencialmente dar o controle do seu computador a alguém de fora, potencialmente incluindo você em uma botnet. O remédio para essa desvantagem é não permitir que códigos javascript não confiáveis sejam executados no seu computador.
AJAX e Javascript estão relacionados devido ao fato de que AJAX é a metodologia usada pelo Javascript para obter a maioria dos dados do servidor. Quando o Javascript está criando páginas da web dinâmicas, ele não solicita tudo o que possa precisar do servidor, pois isso levaria um tempo de carregamento muito longo. Em vez disso, apenas carrega o que precisa para carregar a primeira página. Sempre que um usuário faz algo que precisa de mais dados, o Javascript usa o AJAX para solicitar os dados necessários, a fim de evitar recarregar a página.
Como podemos ver, o AJAX é apenas mais uma ferramenta que pode ser usada por linguagens de script como Javascript, a fim de melhorar a aparência de suas páginas da web..
Confira livros relacionados a AJAX e Javascript.