Conteúdo do curso
Apresentação do curso
0/1
Curso de JavaScript para Iniciantes: Fundamentos e Prática
Sobre a Aula

Introdução ao AJAX (Asynchronous JavaScript and XML)

 

Seja bem-vindo ao módulo 7! Nesta jornada, você se tornará um mestre em AJAX, uma técnica poderosa que permite que suas páginas web se comuniquem com servidores de forma assíncrona, sem precisar recarregar a página inteira.

Imagine que você está em um restaurante e faz um pedido para o garçom. Enquanto aguarda o seu prato, você não fica parado sem fazer mais nada, certo?

Você pode aproveitar esse tempo para conversar com seus amigos, ler um livro ou até mesmo continuar comendo os aperitivos que foram servidos.

Essa é a ideia por trás do AJAX, que significa Asynchronous JavaScript and XML (JavaScript e XML Assíncronos).

É uma forma de realizar requisições ao servidor e obter respostas sem bloquear a execução do restante do código.

Assim como você não fica parado esperando o prato chegar, o AJAX permite que você execute outras tarefas enquanto aguarda a resposta do servidor.

Mas por que o XML no nome? Apesar de o AJAX ter sido popularizado utilizando o XML para transportar os dados entre o cliente e o servidor, atualmente é mais comum utilizar o formato JSON (JavaScript Object Notation), que é mais leve e fácil de manipular.

Imagine que você está em um site de notícias e deseja visualizar novos artigos.

Em vez de atualizar a página inteira, o AJAX permite que você faça uma requisição ao servidor para buscar apenas os novos artigos e atualizar essa informação dinamicamente na página, sem interromper a sua leitura atual.

O AJAX é amplamente utilizado em aplicações web para melhorar a experiência do usuário, tornando as páginas mais rápidas e interativas.

Ele é especialmente útil em situações em que é necessário buscar informações do servidor de forma assíncrona, como em formulários de busca, atualização de conteúdo dinâmico e interação com APIs externas.

Para implementar o AJAX em JavaScript, utilizamos a API Fetch, que é uma forma mais moderna e simples de fazer requisições assíncronas. Com ela, podemos enviar e receber dados do servidor de forma eficiente.

Em resumo, o AJAX é como um garçom eficiente que permite que você faça outras atividades enquanto aguarda a resposta do servidor.

Ele torna as aplicações web mais dinâmicas, permitindo atualizações de conteúdo sem a necessidade de recarregar a página inteira.

Espero que essa explicação tenha sido clara e que você tenha compreendido o conceito básico do AJAX.

É um assunto fundamental para o desenvolvimento web, e com a prática, você poderá aproveitar ao máximo o potencial do AJAX em seus projetos.

Vamos criar um exemplo para melhorar a compreensão:

Esse código em JavaScript realiza uma requisição HTTP assíncrona usando o objeto XMLHttpRequest para obter dados de uma API. Vamos explicar cada parte:

  1. Criação do objeto XMLHttpRequest:
   var xhr = new XMLHttpRequest();

Aqui, é criada uma instância do objeto XMLHttpRequest, que permite realizar requisições HTTP.

  1. Configuração da requisição:
   xhr.open("GET", "https://api.exemplo.com/produtos");

O método open configura a requisição, indicando o tipo (GET, neste caso) e a URL da API a ser chamada.

  1. Definição do tipo de dados esperado:
   xhr.responseType = "json";

Isso indica que a resposta esperada da API é no formato JSON.

  1. Envio da requisição:
   xhr.send();

O método send envia a requisição para o servidor.

  1. Tratamento da resposta:
   xhr.onload = function() {
     if (xhr.status === 200) {
       // Sucesso!
       var produtos = xhr.response;
       // Atualiza a página web com os produtos
       // ...
     } else {
       // Erro!
       console.error("Erro ao carregar produtos:", xhr.statusText);
     }
   };

O evento onload é acionado quando a requisição é concluída. Se o status for 200 (OK), os dados da resposta (no formato JSON) são acessados pela variável produtos e podem ser utilizados para atualizar a página. Caso contrário, um erro é registrado no console.

Código completo:

// Cria uma requisição para o servidor
var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.exemplo.com/produtos");

// Define o tipo de dados esperado
xhr.responseType = "json";

// Envia a requisição
xhr.send();

// Escuta o evento de resposta
xhr.onload = function() {
  if (xhr.status === 200) {
    // Sucesso!
    var produtos = xhr.response;
    // Atualiza a página web com os produtos
    // ...
  } else {
    // Erro!
    console.error("Erro ao carregar produtos:", xhr.statusText);
  }
};

Este código é uma implementação básica de uma requisição AJAX para obter dados de uma API e manipular a resposta.

Desafio:

  1. Crie uma página web que utiliza AJAX para buscar dados de uma API externa (ex: API de CEP, API de clima).
  2. Exiba os dados na página web de forma dinâmica, sem recarregar a página.

Agora que você entendeu o conceito do AJAX e como ele permite a comunicação assíncrona entre o cliente e o servidor, vamos avançar para um tópico relacionado: a manipulação de dados JSON.

Durante a exploração do AJAX, mencionei que o formato JSON é amplamente utilizado para transportar dados entre o cliente e o servidor de forma eficiente.

Agora, vamos aprender como trabalhar com esses dados no formato JSON e manipulá-los em nossos projetos JavaScript.

Entrar na conversa
Rolar para cima