AJAX 茅 uma abreviatura de Asynchronous JavaScript and XML . AJAX 茅 uma t茅cnica e n茫o uma linguagem de programa莽茫o que 茅 usada pelos desenvolvedores para fazer os sites se comportarem como aplicativos de desktop. Ele opera no lado do cliente para criar aplicativos da web ass铆ncronos. AJAX 茅 um grupo de tecnologias que usa v谩rias tecnologias da web para criar um conjunto de t茅cnicas de desenvolvimento da web.聽

O AJAX permite que v谩rias p谩ginas da web sejam atualizadas uma a uma, trocando os dados com o servidor da web em segundo plano. O que significa que parte das p谩ginas da web pode ser atualizada sem atualizar a p谩gina inteira repetidamente.

Vamos dar um exemplo de p谩gina do Facebook , no feed de not铆cias do Facebook, quando pressionamos o bot茫o de curtir, amor, etc. ou comentamos em qualquer imagem, ent茫o ele simplesmente curtir谩, adora a imagem sem recarregar a p谩gina inteira. Enquanto algum tempo antes, quando clicamos no bot茫o "Curtir", ele recarrega todas as p谩ginas. Esta altera莽茫o 茅 feita por causa do AJAX, ou seja, o AJAX permite que parte das p谩ginas da web sejam atualizadas sem perturbar a p谩gina inteira.聽

AJAX usa a combina莽茫o de ambos:

  • Objeto XMLHttpRequest: 聽para solicitar dados de um servidor web, o ajax usa um objeto XMLHttpRequest integrado .
  • JavaScript e HTML DOM: 聽 Para exibir ou usar os dados, ajax usa JavaScript e HTML DOM .

As tecnologias envolvidas no AJAX s茫o:

  • HTML - 茅 usado no lado do cliente.
  • JavaScript - 茅 usado para fazer a solicita莽茫o.
  • CSS - tamb茅m 茅 usado no lado do cliente.
  • XML - s茫o apenas formatos de solicita莽茫o.
  • JSON - tamb茅m 茅 um formato de solicita莽茫o.
  • php - 茅 usado no lado do servidor.

Hist贸ria do Ajax:

  • In铆cio da d茅cada de 1990: neste per铆odo, a maioria dos sites baseava-se em p谩ginas HTML completas. Sempre que qualquer altera莽茫o for feita, essas altera莽玫es devem ser conclu铆das recarregando a p谩gina, embora as altera莽玫es tenham sido poucas, mas todo o conte煤do teve que ser recarregado, o que tornou a largura de banda um fator limitante.
  • 1996: A tag iframe foi introduzida pelo IE; como o elemento de objeto, ele pode carregar ou buscar conte煤do de forma ass铆ncrona.
  • 1998: A equipe de acesso 脿 web do Microsoft Outlook desenvolveu o conceito por tr谩s do objeto de script XMLHttpRequest .
  • 2000: A utilidade de requests HTTP em segundo plano e tecnologias ass铆ncronas da web permaneceu bastante obscura at茅 que come莽ou a aparecer em aplicativos online de grande escala, como o Outlook Web Access.
  • 2004 e 2005: O Google fez uma ampla implanta莽茫o de AJAX compat铆vel com os padr玫es em v谩rios navegadores com Gmail em 2004 e Google Maps em 2005.
  • 18 de fevereiro de 2005: O termo AJAX foi usado publicamente em 18 de fevereiro de 2005 por Jesse James Garrette em um artigo intitulado聽

AJAX: uma nova abordagem para aplicativos da Web, baseada em t茅cnicas usadas nas p谩ginas do Google.

Caracter铆sticas do Ajax:

  • Em AJAX, a p谩gina da web atua como um aplicativo: AJAX 茅 muito mais importante do que mais inteligente do que o HTML, pois atua como um aplicativo de desktop. O AJAX interage com o servidor back-end sem complica莽玫es e 茅 mais responsivo do que o HTML.
  • Os dados s茫o armazenados no servidor, ao contr谩rio das p谩ginas: Em HTML, quando o usu谩rio envia dados din芒micos ao servidor, o servidor converte toda a p谩gina HTML no formato que pode ser lido pelo cliente. Em AJAX n茫o h谩 necessidade de fazer o processo acima, pois o servidor AJAX n茫o precisa converter todas as p谩ginas, ele recebe e envia os dados diretamente para o lado do cliente. No servidor AJAX trata-se de dados e n茫o de p谩ginas.
  • Fornece experi锚ncia de usu谩rio cont铆nua e din芒mica: O usu谩rio pode interagir com a p谩gina e os dados podem ser armazenados ao mesmo tempo sem atualizar a p谩gina. Em outros casos, temos que esperar que a resposta seja processada e obter resultados, mas no caso do AJAX, obtemos uma resposta s铆ncrona. Podemos realizar v谩rias tarefas com AJAX, pois ele fornece fluxos de trabalho n茫o lineares.

Estrutura Ajax:

function geeksforgeeks(str) 
{
  var gfg=new XMLHttpRequest();
  gfg.open("get","url?name_you_want_to_Send="+str,true);
  gfg.send();
  gfg.onreadystatechange=function gfg1() 
  {
     // if true means reaponse is arrived
     if(gfg.readyState==4 && gfg.status==200)          
     {
            document.getElementById("name").innerHTML=
            gfg.responseText;
     }
  }
}

Vantagens do Ajax:

  • O tempo de resposta do AJAX 茅 alto, portanto, aumenta a velocidade e o desempenho.
  • AJAX oferece suporte a v谩rios navegadores.
  • Alguns dos aplicativos AJAX complexos d茫o a sensa莽茫o de que os estamos usando no Desktop.
  • H谩 menos necessidade de tempo entre o servidor e o cliente.
  • O AJAX permite que v谩rias tarefas sejam realizadas ao mesmo tempo.

Desvantagens do Ajax:

  • Enfrentamos problemas de compatibilidade do navegador em AJAX.
  • Se o JavaScript for desativado pelo usu谩rio, esses usu谩rios n茫o poder茫o usar AJAX, pois o AJAX precisa que o JavaScript esteja ativado.
  • V谩rios mecanismos de pesquisa como o Google n茫o podem indexar p谩ginas AJAX.
  • N茫o podemos marcar o conte煤do da p谩gina atualizado em AJAX.
  • Uma vez que os dados podem ser baixados do lado do cliente, o AJAX 茅 menos seguro.