O que é o AJAX, realmente?

Eu tenho que começar a usar o AJAX em um projeto e não sei por onde começar. Alguém pode ajudar por favor?

Um J avaScript síncrono e X ml. Uma técnica para obter comunicações orientadas por script bidirecionais entre navegadores da Web e servidores via HTTP.

Veja também:

  • definição na Wikipedia
  • AJAX Introduction on w3schools
  • Ajax Workshop 1 em Ajax Lessons

Edit: Como apontado por Nosredna, JSON é frequentemente usado no lugar de XML.

A ideia aproximada em inglês:

Você tem uma página da web. Algum evento (pode ser um pressionamento de botão ou outro evento de formulário ou apenas algo acionado por um cronômetro) ocorre e triggers o código JavaScript que solicita ao servidor informações novas (como o valor mais recente do estoque do GOOG).

Há um pedaço de código no servidor que coleta as informações que você passou e envia algumas informações de volta. Isso é diferente do trabalho de exibição de página que o servidor geralmente tem.

Quando o servidor responde, uma function de retorno de chamada (especificada na chamada do JavaScript para o servidor) é chamada com as informações do servidor. Seu código JavaScript usa as informações para atualizar algo, como um gráfico de ações da GOOG.

Não deve ser confundido com o limpador , AJAX, o termo de tecnologia , está realmente descrevendo um framework ou melhor declarado como uma técnica para usar XML e JavaScript para fazer chamadas assíncronas ao código do servidor …

Aqui estão algumas boas amostras de código . E mais um pouco

Embora muitos desses exemplos acima mostrem como criar todos os objects de solicitação XML, se você examinar o AJAX Control Toolkit da Microsoft para aplicativos ASP.NET ou jQuery, será mais fácil trabalhar com eles.

Amostra jQuery (do site jQuery ):
Quando o código é atingido, o arquivo some.php é atingido passando os valores de nome e localização.

  

É uma palavra de ordem, a essência disso é:

Usando o Javascript para fazer uma solicitação HTTP assíncrona (em segundo plano) .

Quando o conteúdo chega, uma ação é executada, geralmente executando alguma lógica e atualizando a aparência da página manipulando a tree DOM; significado, inserindo novos elementos HTML, excluindo alguns elementos html, etc.

O X em AJAX significa XML, mas é irrelevante. XML é apenas uma das muitas maneiras de formatar os dados enviados pelo servidor. O JSON é uma alternativa muito melhor (IMNSHO). Além disso, o servidor pode enviar texto simples ou apenas html regular.

A palavra-chave aqui é uma solicitação assíncrona. Uma solicitação que acontece em segundo plano, sem que o navegador precise recarregar a página.

Mais comumente, refere-se ao uso do object XMLHttpRequest via JavaScript * em um navegador.

Dependendo de quem você pergunta, ele pode ser usado para descrever quase qualquer tipo de comunicação cliente / servidor por HTTP, além de digitar uma URL em um navegador.

* O jQuery fornece um bom código para lidar com diferenças entre navegadores, etc.

Do livro Ajax Pragmático :

O que é o Ajax?

Ajax é uma fera difícil de destilar em um one-liner. A razão é tão difícil porque tem dois lados:

  • O Ajax pode ser visto como um conjunto de tecnologias.
  • Ajax pode ser visto como uma arquitetura.

Ajax: JavaScript asynchronous e XML

O nome Ajax veio do agrupamento de suas tecnologias de ativação: um canal de comunicação asynchronous entre o navegador e o servidor, o JavaScript e o XML. Quando foi definido, foi previsto como o seguinte:

  • Apresentação baseada em padrões usando XHTML e CSS
  • Exibição dinâmica e interação usando o DocumentObject Model (DOM) do navegador
  • Troca e manipulação de dados usando XML e XSLT
  • Recuperação assíncrona de dados usando XMLHttpRequest ou XMLHTTP (da Microsoft)
  • JavaScript ligando tudo junto

Embora seja comum desenvolver usando essas tecnologias capacitadoras, pode rapidamente se tornar mais problema do que recompensa.

É por estas razões que a definição mais importante para o Ajax é …

Ajax: a arquitetura

A evolução empolgante que é o Ajax está em como você arquiteta aplicativos da web. Vamos ver primeiro a arquitetura web convencional:

  1. Defina uma página para cada evento no aplicativo: exibir itens, comprar itens, fazer check-out e assim por diante.
  2. Cada evento, ou ação, retorna uma página inteira de volta ao navegador.
  3. Essa página é renderizada para o usuário.

Isso parece natural para nós agora. Fazia sentido no início da Web, como a Web não era realmente sobre aplicativos. A Web começou como mais de um repository de documentos; era um mundo em que você poderia simplesmente vincular documentos de maneira ad hoc. Tratava-se de compartilhamento de documentos e dados, não de interatividade em qualquer sentido significativo.

Imagine um aplicativo de desktop rico por um momento. Imagine o que você pensaria se, a cada clique, todos os componentes da canvas do aplicativo fossem redefinidos do zero. Parece um pouco louco, não é? Na Web, esse era o mundo em que morávamos até a chegada do Ajax.

Ajax é uma nova arquitetura. As partes importantes desta arquitetura são:

  • Pequenos events do lado do servidor: Agora os componentes em um aplicativo da Web podem fazer pequenos pedidos de volta a um servidor, obter algumas informações e ajustar a página exibida, alterando o DOM. Nenhuma atualização de página inteira.

  • Assíncrono: solicitações postadas de volta no servidor não fazem com que o navegador bloqueie. O usuário pode continuar a usar outras partes do aplicativo, e a interface do usuário pode ser atualizada para alertar o usuário de que uma solicitação está ocorrendo.

  • onAnything: Podemos interagir com o servidor com base em quase tudo o que o usuário faz. Os navegadores modernos interceptam a maioria dos events do usuário que o sistema operacional: mouseovers, cliques do mouse, pressionamentos de teclas, etc. Qualquer evento de usuário pode causar uma solicitação assíncrona.

Isso tudo parece ótimo, não é? Com essa mudança, temos que ter cuidado, no entanto. Uma das melhores coisas da Web é que qualquer um pode usá-la. Ter uma semântica simples ajuda a que isso aconteça. Se formos ao mar, poderemos começar a surpreender os usuários com novas abstrações da interface do usuário. Essa é uma reclamação comum em interfaces de usuário do Flash, em que os usuários são confrontados com novos símbolos, metáforas e ações necessárias para obter resultados úteis.

Ajax é um pouco errôneo. Para citar o artigo da wiki:

Apesar do nome, o uso de JavaScript e XML não é realmente necessário, nem as solicitações precisam ser assíncronas.

Considerando que agora a maioria das pessoas chama “ajax” qualquer tipo de

aplicativo da web que se comunica com um servidor em segundo plano

http://www.w3schools.com/Ajax/Default.Asp

esse é um bom lugar para começar. Isso deve responder a todas as suas perguntas.

“Ajax” é o termo de marketing bem-sucedido introduzido em 2005 para replace o termo antigo “DHTML” que não se encheckboxva bem. “Ajax” hoje faz parte da história também como a nova palavra – “HTML5” emerge. Ainda assim, “HTML5” é praticamente o que costumava ser o “DHTML” original.

Ajax também é referenciado como “a nova abordagem para o desenvolvimento de aplicativos”, onde uma página da Web é criada no servidor inicialmente, mas posteriormente, durante sua existência, as atualizações estão sendo feitas no cliente conforme os dados ou conteúdo parcial são comunicados o servidor em segundo plano.

Espero que isso esclarece.

Só para adicionar .. pode não ser relevante para a pergunta .. embora, AJAX foi feito famoso pelo Gmail em seus e-mails do navegador ..o crédito de AJAX vai para a Microsoft .. eles criaram a coisa AJAX ..

É JavaScript, mas funciona.

Eu acredito que a maneira mais rápida e fácil de começar é com o jQuery:

http://jquery.com/

http://docs.jquery.com/Ajax/jQuery.ajax#examples

AJAX significa JavaScript e XML asynchronous, embora nem sempre lide com dados XML. Essencialmente, resume-se a usar o object XMLHttpRequest através de JavaScript em execução no cliente para fazer uma solicitação da Web e recuperar algumas informações que você usa para atualizar o estado de sua página sem exigir uma atualização de página.

Comece com um tutorial básico que mostra como usar o bare bones Ajax para fazer solicitações assíncronas, como http://www.w3schools.com/Ajax/Default.asp, antes de usá-lo em um aplicativo de nível de produção.

Ao usá-lo em um aplicativo, é melhor investigar uma das estruturas JavaScript comuns que abstraem as diferenças entre os vários navegadores e facilitam a manipulação da página após a devolução da solicitação. Eu pessoalmente recomendo http://www.jquery.com/

Eu li o Head First AJAX como minha primeira referência em AJAX e descobri que ele oferece uma visão geral simples e prática do AJAX.

Uso criativo de tecnologia previamente conhecida. Tanto o script do lado do navegador quanto o access programático aos dados no servidor já eram conhecidos anteriormente. Em AJAX, foi criado para uso inovador, permitindo novas aplicações da tecnologia conhecidas anteriormente. O REST vem à mente como tipo similar de avanço …

O AJAX é muito simples: alguém em algum lugar achou que seria legal poder enviar algo para o servidor e receber algo dele sem recarregar uma página.

AJAX não é uma revolução, é apenas um nome para algo simples: uma página web pode enviar uma requisição para o servidor sem ser reloader – apenas algumas assinaturas aqui.

Você pode adicionar controles AJAX em suas páginas da web sem qualquer trabalho – basta arrastá-los com o Visual Studio. Você pode ter que adicionar algum gerenciador para eles, mas é simplesmente uma tarefa de arrastar e soltar.

Mas esteja avisado: navegador da Web não costuma falar a mesma linguagem AJAX que o IE …

🙂

AJAX é um termo muito chique para dar ao navegador a capacidade de atualizar partes de seu conteúdo com a necessidade de recarregar uma página inteira. Como muitos já disseram, não requer XML, nem Javascript, para implementá-lo. Na verdade, em seus primórdios, foi feito com o VBScript e o Jscript e chamado DHTML. Jesse James Garrett pode ter inventado o termo AJAX , mas foi realmente a Microsoft que inventou o conceito por trás dele.

Esta fonte diz que a Microsoft começou em 1999 , mas eu daria um passo ainda maior no nascimento dessa tecnologia. Este artigo da Wired é provavelmente mais preciso na data em que esta tecnologia está no final dos anos 90, em grande parte proveniente dos velhos tempos das colunas MSDN DHTML Dude escritas por Michael Wallent na Microsoft, que começaram em 1997. Grande parte da história é também disse neste grande vídeo aqui pelo próprio Michael: http://channel9.msdn.com/posts/Charles/Michael-Wallent-Advent-and-Evolution-of-WPF/ Megan ainda trabalha na Microsoft, a propósito trabalhando no Equipe Silverlight hoje em dia, a substituição da Microsoft para o ActiveX .

De volta ao thingy AJAX … quando Jesse James Garrett em 2005 ele estava falando sobre o uso do XMLHTTPRequest dentro do código Javascript, e uma pitada de sal. Que mais tarde começou uma palavra que muitas pessoas começaram a usar, mesmo que eles não tivessem ideia do que era, e pensaram que isso é realmente algo novo e moderno, quando na verdade era apenas um remix de algo antigo … mais ou menos como muitas músicas de hip-hop que você ouve hoje em dia.

Não é novo, apenas uma versão mais recente de algo antigo!

Vou tentar e dizer que “é o conceito de ter uma solução baseada em W3C (JavaScript, HTML e CSS) para a criação de Rich Applications para execução na Web em um navegador”

Tudo o resto é apenas “detalhes técnicos”, eu acho …;)

PS! – pergunta incrível … !! 😉

AJAX (Asynchronous JavaScript and XML) é um termo recém-criado para dois poderosos resources de navegador que existem há anos, mas foram negligenciados por muitos desenvolvedores da Web até recentemente, quando aplicativos como Gmail, Google Suggest e Google Maps chegaram às ruas. Para saber mais informações sobre o Ajax learn Ajax tutorial

É um produto de limpeza.

Também significa algo muito legal construído com uma linguagem de programação muito odiosa.