Jumat, 17 Juni 2011

Pengenalan AJAX 2

Pada akhir baris di halaman Pengenalan AJAX saya telah membuat contoh skrip AJAX sederhana, tapi sebelum itu saya mengajak anda mengenal XMLHttpRequest.

XMLHttpRequest merupakan objek yang dirancang untuk memungkinkan pemrogram melakukan permintaan HTTP dari suatu aplikasi. HTTP adalah sebuah protokol, digunakan oleh web browser untuk mengirim request dari website ke web server dan kemudian menerima response dari web server. Objek XMLHttpRequest inilah yang membuat JavaScript bisa meminta layanan ke server HTTP secara asinkron, menerima tanggapan dari server, dan memperbaharui isi sebagian halaman web.

Hasil Skip ajax sederhana pada Pengenalan Ajax :









 Hasil ketika di klik Say Haloo! 









Jadi jika anda telah mencoba skrip ini, hasil yang didapat AJAX tidak melakukan reload halaman ketika button Say Halooo ! di-klik, tapi hanya melakukan perubahan data untuk meng-update halaman. Jadi lebih hemat waktu bukan ??. Berikut ini penjelasan dari skrip tersebut :

 <html>   
  <head>   
  <script type="text/javascript">   
  function loadXMLDoc()   
  {   
  var xmlhttp;   
  if (window.XMLHttpRequest)   
  {// code for IE7+, Firefox, Chrome, Opera, Safari   
  xmlhttp=new XMLHttpRequest();   
  }   
  else   
  {// code for IE6, IE5   
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");   
  }   
  xmlhttp.onreadystatechange=function()   
  {   
  if (xmlhttp.readyState==4 && xmlhttp.status==200)   
   {   
   document.getElementById("halo").innerHTML=xmlhttp.responseText;   
   }   
  }   
  xmlhttp.open("GET","ajax_info.txt",true);   
  xmlhttp.send();   
  }   
  </script>   
  </head>   
  <body>   
  <div id="halo"><h2>Katakan HALO pada Dunia !</h2></div>   
  <button type="button" onclick="loadXMLDoc()">Say Halooo !</button>   
  </body>   
  </html>   


 <html>   
  <head>   
  <script type="text/javascript">   
karena akan menggunakan bahasa JavaScript maka harus menuliskannya pada tag  Script Type


 function loadXMLDoc()   

Baris ini untuk membuat suatu fungsi yang diberi nama loadXMLDoc() yg akan dipanggil ketika mengklik button Say Halooo.

  var xmlhttp;   
Baris ini untuk membuat sebuah variabel dengan nama xmlhttp;

 if (window.XMLHttpRequest)   
  {// code for IE7+, Firefox, Chrome, Opera, Safari   
  xmlhttp=new XMLHttpRequest();   
  }   
Baris ini digunakan untuk membuat objek XMLHttpRequest, jika browser yang digunakan Internet Explorer versi 7 ke atas, Firefox, Chrome, Safari, and Opera, maka sintaksnya adalah "Variable = new XMLHttpRequest();"

 else   
  {// code for IE6, IE5   
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");   
  }   
Baris ini menjelaskan jika Internet Explorer Versi 6 atau Versi 5 maka objek XMLHttpRequest akan dibuat dengan sintaks "Variable = new ActiveXObject("Microsoft.XMLHTTP");"

 xmlhttp.onreadystatechange=function()   
Baris ini digunakan untuk memasukkan fungsi yang dijalankan ketika properti bernama readystate(milik objek XMLHttpRequest) berubah. Kebetulan pada contoh ini fungsi tersebut tidak diberi nama.

 if (xmlhttp.readyState==4 && xmlhttp.status==200)   
Baris ini menjelaskan untuk memeriksa nilai properti readyState dan status milik objek xmlhttp. Jika readyState bernilai 4(empat) dan status bernilai 200(dua ratus). maka pernyataan dibawahnya dijalankan.

 document.getElementById("halo").innerHTML=xmlhttp.responseText;  
Baris ini menjelaskan properti innerHTML milik ID Halo diganti dengan properti responseText milik xmlhttp. Properti responseText berisi teks yang berasal dari server.

Untuk lebih jelasnya berikut ini tabel properti dari XMLHttpReqeuestObjeck yang biasa digunakan :
Properti
Deskripsi
onreadystatechange
Properti ini adalah sebuah event handler yang memberikan anda untuk men-trigger sebuah blok kode atau function
readyState
Berisi informasi state dari object XMLHttpRequest pada saat properti ini digunakan
0: uninitialized
1: loading
2: loaded,
3: interactive
4: complete
Status
200 : OK
404 : Page not found

Mari lanjut pada baris berikutnya
 xmlhttp.open("GET","ajax_info.txt",true);   
  xmlhttp.send();   
Baris ini untuk mengirimkan Request ke server. Saat mengirim request ke server anda harus menentukan request method yang digunakan, apakah akan menggunakan GET atau POST. Jika anda ingin menampilkan informasi dari server maka anda akan menggunakan method GET, sedangkan jika anda mengirim informasi ke server maka gunakan method POST.

Method
Deskripsi
open(method,url,async)
Menspesifikasikan tipe request yang digunakan, Link URL, apakah dilakukan asinkron atau tidak.
method: tipe request: GET or POST
url: lokasi file di server
async: true (asynchronous) atau false (synchronous)
send(string)
Digunakan mengirim request ke server
String : digunakan untuk POST request

 </script>   
  </head>   
Tag penutup

 <body>   
  <div id="halo"><p>HALOOO DUNIA....</p></div>   
Membuat elemen dengan ID berupa "halo" dengan teks "HALOOO DUNIA...."

 <button type="button" onclick="loadXMLDoc()">Say Halooo !</button>  
Membuat tombol button yang ketika di klik akan memanggil fungsi "loadXMLDoc" untuk membuat objek XMLHttpRequest dengan teks "Say Halooo".

 </body>   
  </html>   
Tag penutup.

Diharapkan dengan penjelasan ini anda yang ingin belajar ajax lebih memahami sedikit demi sedikit.

Tidak ada komentar:

Posting Komentar