Revista_PROGRAMAR_5
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
a program ar<br />
<br />
<br />
<br />
<br />
Páginas dinâm icas<br />
com ASPe AJAX<br />
Q ue m nunca pe nsou e m faze r um Ch at ou<br />
um a Sh outBox? Exacto, m uitos de nós, no<br />
e ntanto, algo tão fulcral com o a<br />
actualização da conve rsa tornava-se um<br />
q ue bra-cabe ças díficilde solucionar. O u se<br />
fazia um re fre sh à página (algo de sagradáve l<br />
e a e vitar), ou... Enfim , se ria ape nas m ais um<br />
proje cto não concre tizado. O ra, foi<br />
pre cisam e nte para solucionar e sse s<br />
proble m as q ue nasce u o AJAX (Asynch ronous<br />
JavaScriptand XM L).<br />
Q uando falam os e m AJAX convém te r a<br />
noção q ue não se trata propriam e nte de um a<br />
linguage m de program ação nova, e m uito<br />
m e nos se re fe re ao h abitualde te rge nte . Tratase<br />
sim , de um a técnica para actualizar<br />
inform ação rapidam e nte . Im agine m os, por<br />
e xe m plo, um ch at. Com o h abitual H TM L<br />
Re fre sh o brow se r iria carre gar a página toda<br />
novam e nte . Já com o AJAX ape nas se rá<br />
actualizado aq uilo q ue q uise rm os, ne ste caso,<br />
o 'corpo' da conve rsa.<br />
AJAX corre praticam e nte e m todos os<br />
se rvidore s m as, para q ue possam os usufruir<br />
de ste , pre cisare m os tam bém de um a<br />
linguage m Se rve r-Side , ne ste caso o ASP. Além<br />
disso o AJAX te m a particularidade de se r<br />
ape nas visíve l e m brow se rs q ue te nh am<br />
suporte com ple to XM L. Actualm e nte e xiste m<br />
ape nas dois brow se rs a suportar totalm e nte<br />
e sta te cnologia: o Inte rne tExplore r e o M ozi la<br />
Fire fox. Em brow se rs com o o Safari ou o O pe ra<br />
é com um as aplicaçõe s com AJAX<br />
apre se ntare m alguns e rros, ou de ficiências.<br />
M as, de ixe m o-nos de te oria e passe m os à<br />
prática. Ire m os criar um a página de re gisto,<br />
com a particularidade de garantir q ue não<br />
h ajam use rnam e s re pe tidos.<br />
<br />
<br />
<br />
Utilizador Pretendido:<br />
<br />
<br />
<br />
<br />
<br />
A parte do '<br />
', inclui o código AJAX para q ue<br />
se ja possíve la ve rificação. Já o parágrafo<br />
abaixo, se rá a taláre a e m q ue nos é dito se<br />
o use rnam e já e xiste ou não. A acção<br />
ve rificaUtilizador(th is.value ), re q ue re o<br />
th is.value para q ue o brow se r saiba q ue<br />
de ve actualizar a re sposta se m pre q ue o<br />
te xto é alte rado. A função se m o th is.value<br />
te ria de se r invocada por um botão através<br />
do onClick por e xe m plo, caso contrário não<br />
iria funcionar.<br />
O código AJAX é o se guinte :<br />
codigoAJAX.js (o código tam bém pode ria se r<br />
inse rido na página do form ulário m as, por<br />
m otivos de organização, se param o-lo).<br />
function handleHttpResponse() {<br />
if (http.readyState == 4) {<br />
if (http.status == 200) {<br />
if (http.responseText.indexOf(<br />
'invalid') == -1) {<br />
results = http.responseText.<br />
split(",");<br />
document.getElementById(<br />
"resposta").innerHTML<br />
= results[0];<br />
emProceso = false;<br />
}<br />
}<br />
}<br />
}