Selasa, 04 Agustus 2015

Belajar Ajax tanpa jQuery (part1)

Sebelum kita melangkah lebih jauh untuk mempelajari AJAX, alangkah lebih baik jika kita mengenal AJAX terlebih dahulu. Denger-denger sih, kalau gak kenal maka gak sayang, kalau gak sayang maka gak cinta, kalau gak cinta maka gak bisa menikmati setiap inci dari tubuhnya... So, apa itu AJAX?

APA ITU AJAX?

AJAX bukanlah bahasa pemrograman baru, tapi sebuah cara baru untuk menggunakan standar yang sudah ada.

AJAX adalah singkatan dari "Asynchronous JavaScript and XML". Kalau diterjemahin sesuai bahasanya itu rumit, sulit jelasinnya. Pokoknya, AJAX itu adalah teknik untuk membuat halaman web yang cepat dan dinamis. Kenapa begitu? Itu karena AJAX digunakan untuk memperbarui bagian dari halaman web, tanpa perlu reload. Sehingga AJAX memungkinkan halaman web diperbarui secara tidak singkron(asynchronous) dengan bertukar data dalam jumlah kecil dengan server di belakang layar. Kalau halaman web klasik, (yang tidak menggunakan AJAX) diharuskan me-reload seluruh halaman jika konten ingin dirubah.

Contoh aplikasi yang menggunakan AJAX adalah Google Maps, Google Search, Google Mail dan lain-lain.

BAGAIMANA AJAX BEKERJA?

Singkatnya, ketika terjadi sebuah event tertentu pada halaman web, (contohnya adalah ketika mengetikkan kata kunci di Google Search) sebuah fungsi akan membuat sebuah XMLHttpRequest dan mengirimkannya pada server. Kemudian, server akan memproses permintaan dari XMLHttpRequest. Setelah itu, server akan memberikan balasan (berupa data) dan mengirimkannya kepada browser. Selanjutnya, balasan tersebut akan diproses oleh browser menggunakan javascript dan... Tada! Halaman sudah ter-update (muncul berbagai macam kalimat yang berhubungan dengan kata kunci yang sudah kita ketikkan). Gak kepanjangan, kan? Lebih jelasnya, liat gambar dibawah.




Kok bahasa inggris? credit asli dari www.w3schools.com.

STANDAR AJAX

Wuih... jangan langsung mikir sulit lho, ya! Pada dasarnya, AJAX itu merupakan kombinasi dari beberapa hal yang gak rumit-rumit amat kok, yaitu :
  • Objek XMLHttpRequest (untuk pertukaran data asynchronous dengan server)
  • JavaScript / DOM (untuk menampilkan / berinteraksi dengan informasi)
  • CSS (untuk desain, mau make atau gak terserah)
  • XML/JSON (digunakan sebagai format untuk mentransfer data, bisa juga pakai teks biasa, *.txt)
Biar lebih jelas, kita akan membuat sebuah aplikasi AJAX yang amat sangat sederhana.

Pertama-tama, kita buat sebuah teks dengan nama "teks.txt"(tanpa tanda petik). Jangan lupa buat diisi.
Contohnya, diisi begini :
"AJAX is about updating parts of a web page, without reloading the whole page.
AJAX adalah tentang memperbarui sebagian dari halaman web, tanpa me-reload seluruh halaman."

Kemudian, waktunya AJAX! Buat sebuah file dengan nama "ajax.html". Terus...? Tulis!

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="teks"><h2>Ajax akan mengubah teks ini...</h2></div>
<button type="button" onclick="loadXML()">Ubah Konten</button>
</body>
</html>
Aplikasi AJAX yang akan kita buat menggunakan sebuah div dan sebuah tombol. Bagian div akan digunakan untuk menampilkan informasi balasan dari server. Sedangkan, tombol (satu-satunya) itu digunakan untuk memanggil fungsi loadXML saat diklik. Lalu, script yang paling penting. Tulis script berikut di antara tag <head></head>. Seperti ini :

<head>
<script>
function loadXML(){
.... Di sinilah script AJAX akan terlahir...
}
</script>
</head>

Kemudian, buat Objek XMLHttpRequest. Karena inilah kunci utama AJAX. Tapi, apa itu Objek XMLHttpRequest? Kalau ada yang kurang paham sama penjelasan di atas, kita bahas lagi deh. Objek XMLHttpRequest adalah objek yang digunakan untuk pertukaran data dengan server di belakang layar. Inilah yang memungkinkan kita memperbarui halaman web tanpa me-reload seluruh halaman.
Semua browser modern  (IE7+, Firefox, Chrome, Safari, and Opera) sudah mendukung objek XMLHttpRequest. Sedangkan untuk IE5 dan IE6 menggunakan ActiveXObject.

Sintak untuk membuat sebuah objek XMLHttpRequest:
variable =new XMLHttpRequest();
Versi lama dari Internet Explorer (IE6 dan IE5) menggunakan Object ActiveX:

variable =new ActiveXObject("Microsoft.XMLHTTP");
Agar bisa digunakan oleh semua browser modern, termasuk IE5 dan IE6, periksa apakah browser mendukung objek XMLHttpRequest. Jika tidak, maka menggunakan ActiveXObject.

var xmlhttp;
if(window.XMLHttpRequest){// kode untuk IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
}else{// kode untuk IE6 & IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

MENGIRIM PERMINTAAN UNTUK SERVER

Setelah objek XMLHttpRequest sudah dibuat, maka tinggal dikirim. Untuk mengirim permintaan ke server, kita menggunakan open() dan send() yang merupakan method dari XMLHttpRequest.

xmlhttp.open("GET","teks.txt",true);
xmlhttp.send();

Penjelasan :

open(method,url,async) = spesifikasi pengiriman permintaan, url, dan apakah permintaan akan ditangani secara singkron atau tidak.
  • method : tipe pengiriman permintaan : GET atau POST
  • url : lokasi file yang akan memproses permintaan di server.
  • async : true (asyncronous) atau false(syncronous)
send(string) = mengirim permintaan ke server
  • string : hanya digunakan jika menggunakan method POST
bersambung... ke part2
------
kalau mau download contohnya, klik di sini
kalian akan lebih mudah memahaminya kalau udah obrak-abrik source code-nya.
sumber : www.w3schools.com

Tidak ada komentar:

Posting Komentar