Jump to content

[AJAX] Web "Remote Script"


M6

Recommended Posts

Quem usa PHP, ou linguagens de identicas, sabe bem o custo de ter de recarregar uma determinada página com informação adicional.

Por exemplo, se houver um formulário em que uma morada tenha de ser completada através de combo boxs onde se escolhe o distrito, o concelho e a freguesia, isto pode resultar no seguinte cenário:

- utilizador escolhe distrito, há uma chamada ao servidor para carregar os concelhos do distrito seleccionado e toda a página é novamente construída

- utilizador escolhe concelho, há uma chamada ao servidor para carregar as freguesias do concelho seleccionado e toda a página é novamente construída

neste cenário existem duas chamas ao servidor e duas reconstruções da página em causa.

O desejável seria, quando se selecciona uma opção, efectuar uma chamada ao servidor de forma a que o mesmo enviasse apenas a informação pretendida, tornando o processo mais rápido, leve e fluído uma vez que a quantidade de informação é menor e a página não teria de ser toda reconstruída.

O AJAX permite exactamente isto: efectuar uma invocação ao servidor sem carregar toda página.

O AJAX é também totalmente agnóstico quando à tecnologia por de trás do servidor, seja PHP, JSP/J2EE ou ASP.

Se acham útil, deixo aqui informação relacionada sobre o tema e alguns tutorias:

Ajax, pequena definição e explicação.

Ajax and Java, informação da Sun sobre o Ajax e o Java.

Asynchronous Javascript Technology and XML (AJAX)

With Java 2 Platform, Enterprise Edition explicação mais detalhada sobre o Ajax e a sua integração com J2EE.

Including AJAX Functionality in a Custom JavaServer Faces Component, tutorial AJAX com JSF.

Ajax, pequena definição e explicação.

Take Command with AJAX, explicação e tutorial muito simples.

A Simpler Ajax Path, explicação e tutorial simples.

Survey of AJAX/Javascript Libraries, bibliotecas da OSAF, sob várias licencas.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

Complementando o post do M6 e para quem quer usar AJAX num ambiente J2EE

Recomendo estas duas frameworks:

AjaxTags - framework limitada mas que nao envolve a escrita de quase nenhum Javascript - http://ajaxtags.sourceforge.net/

DWR - Muito mais poderosa (simula RPCs em Javascript) mas e preciso conhecer bem Javascript e DOM - http://getahead.ltd.uk/dwr

São ambas open-source.

Link to comment
Share on other sites

  • 5 months later...
  • 2 months later...

Pessoalmente tou tentado a usar o AMFPHP, embora originalmente escrito para Flash Remoting, nas últimas versões (1.9 beta, possivelmente outras) já tem suporte também para JSON, que é um formato de dados nativo do javascript (e que pode ser usado com outras linguagens com relativa facilidade). O que vai permitir escrever o mesmo código tanto para ser usado por clientes Flash como por javascript. Obviamente todo o código escrito está também disponível para o próprio PHP, noutros scripts, por exemplo.

Do lado do cliente, é só fazer requests "normais" (XmlHTTPRequest), usando talvez uma das numerosas bibliotecas disponíveis para o efeito, para facilitar a coisa.

"Pensa positivo: tudo pode piorar"

Link to comment
Share on other sites

Olha mais um que conhece JSON! Não há nada que bata JSON em AJAX 🙂 Existem funções para (de|en)codar JSON nas versões + recentes do PHP e para as mais antigas há uma class no PEAR que faz o serviço 😉

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.