»  Pagina principala  »  Ajax »  Tutorial Ajax

Tutorial Ajax

Ajax - XMLHttpRequest Object

Innainte sa trimite informatii catre server trebuie mai intai sa scriem o functie care va fi capabila sa primeasca aceasta informatie. Vom trata pe rand fiecare parte a scriptului care trebuie trebuie inclusa in documentul nostru.

Vom incepe cu onreadystatechange. Aceasta proprietate a XMLHttpRequest, face posibila stocarea functiei care va procesa raspunsul serverului.

// Crearea unei functii care va primii informatia trimisa de catre server
ajaxRequest.onreadystatechange = function(){
   
// inca ceva script aici
}

O alta proprietate este readyState. Aceasta stocheaza stadiul in care se afla raspunsului serverului. Raspunsul se poate poate procesa, downlada, sau poate fi in curs de completare. Singura valoare pe care o vom aborda si care de fapt ne intereseaza cu adevarat, este accea din care rezulta ca operatiunea a fost completata.

Atunci cand readyState are valoarea 4 inseamna ca operatiunea a fost completata si vom avea acces la informatiile trimise de catre server.

// Crearea unei functii care va primii informatia trimisa de catre server
ajaxRequest.onreadystatechange = function(){
   if(ajaxRequest.readyState == 4){
      // Acesta ofera acces la informatia trimisa de catre server
   }

}

In momentul in care am primit raspunsul putem folosi responseText, care il va prelua. Vom numi formularul nostru "myform" si vom folosi document.FormName.InputName.value pentru a accesa formularul cu ajutorul javascript

// Crearea unei functii care va primii informatia trimisa de catre server
ajaxRequest.onreadystatechange = function(){
   if(ajaxRequest.readyState == 4){
       document.myForm.time.value = ajaxRequest.responseText;
   }
}

Cum Trimitem un request serverului? foarte simplu

Vom crea un document pe care il vom numi "serverTime.php". Presupunand ca fisierul nostru "order.html" este in acelasi folder cu "serverTime.php" vom avea codul:

// Crearea unei functii care va primii informatia trimisa de catre server
ajaxRequest.onreadystatechange = function(){
   if(ajaxRequest.readyState == 4){
        document.myForm.time.value = ajaxRequest.responseText;
   }
}
ajaxRequest.open("GET", "serverTime.php", true);

Iar acum vom adauga functia de trimitere:

// Crearea unei functii care va primii informatia trimisa de catre server
ajaxRequest.onreadystatechange = function(){
   if(ajaxRequest.readyState == 4){
       document.myForm.time.value = ajaxRequest.responseText;
   }
}
ajaxRequest.open("GET", "serverTime.php", true);
ajaxRequest.send(null);


Incheiere

Ar fi cazul sa cam punem fragmentele de script cap la cap si sa facem ceva util cu ele. Vom face ca atunci cand un user scrie ceva in campul Name si muta cursorul in campul Time  acesta sa se completeza automat cu ora serverului.

Vom volosi in acest sens atributul onChange.

<html>
<body>

<script language="javascript" type="text/javascript">
<!--
//Browser Support Code
function ajaxFunction(){
 var ajaxRequest;  // Variabilele sunt urmatoarele
 try{
  // Opera 8.0+, Firefox, Safari
  ajaxRequest = new XMLHttpRequest();
 } catch (e){
  // Internet Explorer Browsers
  try{
   ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
   try{
    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (e){
    // Daca ceva nu e in regula
    alert("Your browser broke!");
    return false;
   }
  }
 }
 // Crearea unei functii care va primii informatia trimisa de catre server
 ajaxRequest.onreadystatechange = function(){
  if(ajaxRequest.readyState == 4){
   document.myForm.time.value = ajaxRequest.responseText;
  }
 }
 ajaxRequest.open("GET", "serverTime.php", true);
 ajaxRequest.send(null);

}

//-->
</script>

 

<form name='myForm'>
Name: <input type='text' onChange="ajaxFunction();" name='username' /> <br />
Time: <input type='text' name='time' />
</form>
</body>
</html>

Si cu toate aste am terminat cu partea mai dificila si vom continua cu scrierea documentului php si anume "serverTime.php" pe care la pomenit dar care inca nu exista.

Pentru ca scripturile sa poata colabora reciproc ar trebui sa fie in acelasi director.

<?php
echo date("H:i:s");
?>

Atat deocamdata, vom mai vorvi despre ajax intr-un tutorial urmator.

Aveti aici un exemplu functional a ceea ce am incercat sa facem.bafta.




« Inapoi 1 2




Comentarii



   Iosif

Foarte util acest tutorial..! Buna treaba tineo tot asa, amice..!
05-Sep-2010 - 13:03



Voteaza acest articol!
 



Trimite un comentariu!

Nume *
E-mail *
Comentariu *
  Vreau sa fiu anuntat de urmatoarele mesaje la acest articol

Security image

E. Nigma

Programator in HTML si CSS, cunoaste functiile de baza ale limbajului de programare PHP, Javascript si Ajax, MySQL si SQL. Experienta in manuirea Macromedia Dreamweaver.
www.etutoriale.tutorialehtml.com, www.tutorialehtml.com, www.scriptgenerator.net

Cloud tag

tutorial, photoshop, html, css, javascript, flash, php, mysql, grafica 3D, tutorial, coduri, scripturi, generator de coduri, cursuri php