Apidog

All-in-one Collaborative API Development Platform

Design de API

Documentação de API

Depuração de API

Mock de API

Testes Automatizados de API

Inscreva-se gratuitamente
Home / Ponto de vista / Conhecimento essencial sobre requisições XHR

Conhecimento essencial sobre requisições XHR

A web moderna exige uma experiência do usuário envolvente e responsiva. Para alcançar isso, o objeto XMLHttpRequest (XHR) desempenha um papel crítico. Funcionando como a base para a comunicação assíncrona, o XHR capacita as aplicações web a trocarem dados com servidores em segundo plano, eliminando a necessidade de recarregamentos completos da página que interrompem a interação do usuário.

💡
Você está procurando uma plataforma de desenvolvimento de API? Considere experimentar Apidog hoje mesmo.

Apidog é uma plataforma de desenvolvimento de API tudo em um que fornece aos usuários todas as funcionalidades necessárias para todo o ciclo de vida. Você pode construir, testar, simular e documentar APIs - é o pacote completo para o desenvolvimento de APIs!

Se você deseja saber mais sobre as funcionalidades do Apidog,

Este artigo mergulha nas funcionalidades centrais do XHR, proporcionando aos desenvolvedores uma compreensão abrangente de como aproveitar seu poder para criar experiências web dinâmicas e envolventes.

Para entender completamente este artigo, vamos primeiro passar pela estrutura fundamental, que é o XHR (XMLHttpRequest).

O que é XHR?

XHR, que significa XMLHttpRequest, é um objeto embutido em navegadores web que permite que o código JavaScript se comunique com um servidor web.

XHR funciona em algumas etapas:

  • Buscar dados de um servidor: Imagine que você tem uma página web que exibe atualizações de clima em tempo real. O XHR permite que o código JavaScript na página recupere dados de um servidor de clima sem recarregar toda a página. Isso torna a experiência do usuário mais suave.
  • Enviar dados para um servidor: O XHR também pode ser usado para enviar dados para um servidor. Por exemplo, quando você envia um formulário em uma página web, o XHR pode ser usado nos bastidores para enviar os dados do formulário para o servidor para processamento.
  • Receber respostas do servidor: Uma vez que o XHR envia dados ou busca dados do servidor, ele recebe uma resposta. Essa resposta pode ser usada pelo código JavaScript para atualizar a página web ou realizar outras ações.

Em resumo, o XHR permite páginas web dinâmicas que podem trocar dados com servidores sem exigir um recarregamento completo da página. Existe uma maneira mais nova e moderna de realizar funcionalidades semelhantes chamada Fetch API, mas o XHR ainda é amplamente utilizado para compatibilidade com navegadores mais antigos.

O Conceito de Requisições XHR

O Processo

Criação

O código JavaScript de uma página web inicia uma requisição XHR criando um objeto XMLHttpRequest.

Configuração

O script configura a requisição especificando detalhes como:

  • Método HTTP (GET, POST, etc.)
  • URL do recurso do servidor a ser acessado
  • Natureza assíncrona ou síncrona da requisição (assíncrona é recomendada para responsividade)
  • Dados a serem enviados para o servidor (se aplicável)
  • Manipuladores de eventos para várias etapas da requisição

Enviando a Requisição

Os métodos open() e send() são usados para enviar a requisição ao servidor.

Processamento no Servidor

O servidor processa a requisição com base no método HTTP e fornece dados.

Resposta

O servidor envia uma resposta de volta para o navegador, incluindo dados (por exemplo, JSON, HTML) e códigos de status (por exemplo, 200 para sucesso).

Manipulação de Eventos

O código JavaScript do navegador pode lidar com a resposta através de ouvintes de eventos (particularmente onreadystatechange) definidos anteriormente. Isso permite que o script analise os dados da resposta e atualize a página web de acordo.

Guia Passo a Passo sobre Como Chamar uma Requisição XHR

Esta seção contém um guia simplificado de JavaScript sobre como chamar uma requisição XHR. Como isso envolve codificação do cliente, você precisará preparar um IDE (Ambiente de Desenvolvimento Integrado)!

1. Criar um Objeto XMLHttpRequest

JavaScript

let xhr = new XMLHttpRequest();

Isso cria um novo objeto que permite que você interaja com o servidor.

2. Configurar a Requisição

Use o método open() para definir os detalhes da requisição:

  • Método HTTP (obrigatório): Escolha a operação que você deseja realizar, onde os métodos comuns são GET, POST, PUT e DELETE.
  • URL (obrigatório): Especifique o endereço web do recurso do servidor que você deseja acessar (por exemplo, "https://api.example.com/data").
  • Assíncrono (opcional, padrão é verdadeiro): Defina como true para requisições assíncronas (permite que o navegador continue funcionando enquanto aguarda a resposta), false para síncronas (bloqueia o navegador até que a resposta chegue - não recomendado).

Exemplo:

xhr.open("GET", "https://api.example.com/data", true);  // Requisição GET para o URL especificado, assíncrona

3. Definir Cabeçalhos Opcionais (se Aplicável)

Use o método setRequestHeader() para definir cabeçalhos adicionais para a requisição. Isso pode ser necessário dependendo dos requisitos do servidor.

Exemplo (especificando o formato dos dados como JSON):

xhr.setRequestHeader("Content-Type", "application/json");

4. Preparar Dados para Enviar (se Aplicável)

Para métodos como POST ou PUT, pode ser necessário preparar dados para enviar ao servidor. Este formato de dado depende do servidor. Pode ser uma string, objeto JSON ou outra coisa. O método específico para definir esses dados depende do formato.

5. Enviar a Requisição

Uma vez que tudo esteja configurado, use o método send() para iniciar a requisição:

xhr.send(dataToSend); // dataToSend é opcional dependendo do método HTTP

6. Manipular a Resposta

Você precisará manipular a resposta do servidor usando ouvintes de eventos:

  • onreadystatechange: Este evento é acionado ao longo do ciclo de vida da requisição. Você pode verificar a propriedade readyState para determinar o progresso da requisição e a propriedade status para obter o código de status HTTP.
  • Outros eventos: Você também pode usar eventos como onload (para conclusão bem-sucedida) ou onerror (para erros) para ações específicas.

Aqui está um exemplo usando onreadystatechange para lidar com cenários de sucesso e erro:

xhr.onreadystatechange = function() {
  if (xhr.readyState === 4) {  // Requisição concluída
    if (xhr.status === 200) {  // Sucesso
      console.log(xhr.responseText);  // Acessar os dados da resposta (normalmente uma string)
      // Processar os dados da resposta aqui (por exemplo, atualizar a página web)
    } else {
      console.error("Erro:", xhr.statusText);
    }
  }
};

Apidog - Integrar o Framework XHR com APIs

Agora que você tem o exemplo de código do cliente pronto, pode começar a considerar criar uma API para que outras pessoas (ou você mesmo) usem! Uma ferramenta perfeita para o trabalho seria o Apidog - uma plataforma abrangente de desenvolvimento de API para produzir APIs de nível industrial!

interface mock do apidog
botão

Design de Seus Próprios Endpoints REST API Usando Apidog

Apidog fornece aos usuários uma plataforma simples, mas intuitiva, para produzir APIs da melhor qualidade! Não levará muito tempo para se acostumar com o novo ambiente de desenvolvimento.

nova api apidog

Comece pressionando o botão Nova API, conforme mostrado na imagem acima.

adicionar detalhes nova api apidog

Esta seção permite que você projete completamente as ações da sua API. Você pode detalhar:

  • Como as aplicações "conversarão" com sua API (GET, POST, PUT, DELETE).
  • O endereço web específico (endpoint) onde as aplicações se conectarão.
  • Quaisquer detalhes necessários a serem incluídos no endereço web para acessar dados específicos.
  • Uma explicação clara do que aquela parte da sua API faz.

Testando APIs Usando Apidog

O primeiro passo é inserir o endpoint específico da API que você deseja testar. Inclua detalhes adicionais, como parâmetros, se necessário para a API específica que você está testando.

Se você não tem certeza sobre como usar vários parâmetros em uma URL, este artigo (link não incluído) pode guiá-lo sobre como acessar o recurso exato dentro de conjuntos de dados maiores!

visualização da resposta do apidog

Uma vez que você pressione o botão Enviar, você pode visualizar a resposta da API em grande detalhe. Veja se o código de status da resposta da API indica uma requisição bem-sucedida e visualize a requisição bruta para que seu código do cliente possa processar os dados vindos dos servidores de back-end.

botão

Conclusão

As requisições XHR desempenharam um papel crucial na formação de experiências web dinâmicas. A capacidade de buscar dados de forma assíncrona sem recarregamentos completos da página revolucionou a maneira como as aplicações web interagem com os servidores. Embora tecnologias mais novas como a Fetch API ofereçam vantagens, o XHR continua amplamente suportado e fornece uma base sólida para construir recursos interativos na web. Compreender as requisições XHR capacita os desenvolvedores a utilizar essa ferramenta versátil e criar aplicações web amigáveis que oferecem uma experiência do usuário sem interrupções.

À medida que o desenvolvimento web continua a evoluir, as requisições XHR provavelmente continuarão a coexistir com novos avanços. Ao dominar o XHR, os desenvolvedores ganham habilidades valiosas aplicáveis a vários cenários de desenvolvimento web, permitindo-lhes criar aplicações web ricas e envolventes.

Junte-se à Newsletter da Apidog

Inscreva-se para ficar atualizado e receber os últimos pontos de vista a qualquer momento.