Documente Academic
Documente Profesional
Documente Cultură
Esti inteligent daca nu crezi decat jumatate din ceea ce auzi; esti intelept
daca stii care jumatate! - Autor anonym
Obiective:
Avantaje si Dezavantaje;
Exemple de implementare (3).
Pagina Principala :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Laborator PW </title>
<script type="text/javascript" src="javascript.js"></script>
<link rel="stylesheet" type="text/css" href="stil.css" />
</head>
<body onload="ajaxIncarcaPagPrincipala();">
<div id="continut"></div>
</body>
</html>
Aceasta incepe cu declaratia xhtml DOCTYPE pentru tipul documentului, in cazul curent
Transitional care permite utilizarea de elementele HTML 4.01 depreciate, dar nu pe cele
depasite.
In sectiunea de head a paginii se incarca prin fisiere externe codul javascript si fisierul
pentru formatare css.
In tagul body se ataseaza la evenimentul onload functia javascript
ajaxIncarcaPagPrincipala() care transfera asincron continutul paginii. Continutul va fi plasat in
div-ul cu id-ul continut.
Fisierul Javascript
Prima etapa in folosirea AJAX este obtinerea obiectului XMLHttpRequest, aceasta poate
fi problematica pentru ca ca nu toate browserele accepta acelasi cod javascript pentru a creea un
obiect ajax dar il vom face compatibil cu cele mai importante browsere folosite pe la noi si
anume: internet Explorer, Opera, Firefox, Safari
In scriptul urmator se va folosi metoda cunoscuta sub numele de "try and catch".
1
function getHTTPObject()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new
ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new
ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("Browserul nu suporta AJAX!");
xmlHttp = null;
}
}
}
return xmlHttp;
}
case 2:
echo '<br/><form name="testForm">
Text intrare: <input type="text" onkeyup="transText();"
name="inputText" id="inputText" />
Text dupa prelucreare pe server: <input type="text"
name="outputText" id="outputText" />
</form>' ;
break;
};
?>
Acest scipt primeste prin GET id-ul operatiei cerute de client. In scripul php aceasta
informatie se poate accesa prin variabila globala $_GET
Folosind un switch se verifica acest id si se trimit informatiile corespunzatoare folosind
functia echo.
Pagina principala contine un header cu titlul si meniul paginii, un container in care se vor
incarca diferitele informatii asincron.
Se prezinta 3 exemple :
I. Primul trimite un sir de caractere la server, aici acesta este transformat in caractere
UPPERCASE si trimis inapoi la client
II. Al doilea incarca intr-un iframe o pagina externa
III. Al treilea trimite o cerere serverului ca sa citeasca toate imaginile dintr-un director si sa
le trimita inapoi la client. Imaginile sunt astfel incarcate fara reincarcarea intregii pagini.
Formatarea CSS
Meniul paginii este realizat folosind o lista neordonata, ul, ce contine o serie de linkuri
formatate folosind ierarhii in css.
Clasa ul menu: Se face pozitionarea meniului in pagina :
ul.menu
{ margin-left: 190px;
margin-right: 60px;
height: 30px;
width:368px;
background-color:#6b6b6b;
}
Tagurile li care se gasesc in tagul ul de clasa menu sunt formatate separat:
ul.menu li
{ list-style-type: none; // nu contine semnele de la inceputul elementului listei
display: inline; //elementele sunt plasata in aceiasi linie nu pe linii separate (ca in liste obisnuite)
}
Apoi sunt formatate linkurile care se gasesc in tagurile ul din clasa menu
ul.menu a:link
{ color:#b6bec9;
text-decoration:none;
padding: 10px 15px 12px 15px;
}
ul.menu a:visited
{
color:#b6bec9;
text-decoration:none;
padding: 10px 15px 12px 15px;
}
ul.menu a:hover
{
color:#28323b;
background-color:#d0d8f3;
text-decoration:none;
width:130px;
height:40px;
}
BIBLIOGRAFIE
http://www.attagency.ro/blog/general/tot-ce-este-minim-necesar-de-stiut-despre-ajax.html
http://www.etutoriale.ro/articles/1483/1/Tutorial-Ajax/
http://www.w3schools.com/ajax/ajax_example.asp
http://ajaxexamples.org/
http://sixrevisions.com/ajax/ajax_techniques/