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.