18.11.2017 Views

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 />

}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!