Istilah
AJAX technology belakangan ini sering terdengar dalam pengembangan aplikasi web, dan sudah banyak digunakan oleh para Web Developer. Salah satu situs yang paling terkenal yang telah menggunakan
ajax adalah Facebook, terutama pada
fasilitas chatingnya. berikut sedikit gambaran tentang
AJAX dan cara memanfaatkannya dalam pengembangan web.
AJAX pertama kali di perkenalkan oleh Jesse James Garrett pada tulisannya yang berjudul
AJAX: A New Approach To Web Applications.
AJAX bukan merupakan bahasa pemrograman baru, namun hanya sebuah tehnik pemanfaatan
Javascript dalam mengontrol
class object XMLHttpRequest untuk me-Refresh / mengupdate content dalam halaman web tanpa melakuan Reload keseluruhan halaman web seperti pada Metoede Tradisional, AJAX sendiri merupakan singkatan dari “Asynchronous JavaScript And XML”.
Kelebihan utama
AJAX sendiri terletak pada pemanfaatan class object XMLHttpRequest untuk berkomunikasi dengan Web Server dalam melakukan request content, berikut pengunaan Javascript dalam membuat class object XMLHttpRequest :
Untuk membuat class object pada browser Firefox, Safari, IE7, Mozila, dsb.
oAJAX = new XMLHttpRequest();
Untuk membuat class object pada browser IE versi terbaru.
oAJAX= new ActiveXObject('MSXML2.XMLHTTP');
Untuk membuat class object pada browser IE versi lama.
oAJAX = new ActiveXObject('Microsoft.XMLHTTP');
Untuk dapat berjalan pada semua browser (Cross Browser), kita dapat mengabungkan kesemua script tersebut kedalam sebuah function pembuat class object XMLHttpRequest seperti berikut :
function createRequest()
{var oAJAX = false;
/*@cc_on @*/ /*@if (@_jscript_version >= 5) try { oAJAX = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) { try { oAJAX = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) { oAJAX = false;
} } @end @*/
if (!oAJAX && typeof XMLHttpRequest != 'undefined') { oAJAX = new XMLHttpRequest();
} if (!oAJAX){ alert("Error saat membuat XMLHttpRequest!");
}else{ alert("XMLHttpRequest sukses dibuat!");
} return oAJAX;
}
Mula-mula function diatas akan mencoba membuat class object XMLHttpRequest dengan sintaks IE versi terbaru, jika gagal maka akan di coba mengunakan sintaks pada IE versi sebelumnya jika masih gagal maka akan di coba mengunakan sintaks pembuatan pada browser Mozila, Firefox dsb.
Dengan pengabungan diatas di pastikan class object XMLHttpRequest akan terbentuk dan function akan mengembalikan class object yang telah berhasil dibuat (kecuali ada ada browser baru.
Setelah object XMLHttpRequest terbentuk selanjutnya kita dapa menanfaatkan object tersebut untuk berkomunikasi dengan server, berikut contoh pemanfaatan class object XMLHttpRequest untuk meminta content data dari server.
Untuk merequest data dari server pada contoh berikut di gunakan function
requestContent yang akan di panggil saat sebuah link di click, detail script function yang digunakan seperti berikut :
function requestContent()
{ oRequest = createRequest();
var url = "dataLoad.html";// Buka komunikasi dengan server
oRequest.open("GET", url, true);// menunggu respon dari server
ID="divContent" oRequest.onreadystatechange = function ()
{ document.getElementById("divContent").innerHTML="
Menunggu Respon server";
if (oRequest.readyState == 4)
{
var response = oRequest.responseText;
document.getElementById("divContent").innerHTML = response;
} }
oRequest.send(null); }
Function diatas pertama kali akan membuat class object XMLHttpRequest dengan memanfaatkan function
createRequest() yang ada sebelumnya, hasil pembuatan object akan di tampung kedalam variabel object oRequest.
setelah object XMLHttpRequest terbentuk, berikut akan dilakukan komunikasi dengan request dengan server untuk meminta data dari file dataLoad.html dengan GET method.
Sintaks open request sebagai berikut :
oXML.open(, , );- methode : POST atau GET
- url_file : lokasi URL file yang akan di request
- async_status : TRUE atau FALSE
catatan Asynchronous status:- Status TRUE :
Javascript akan melanjutkan proses secara normal sementara menunggu respon dari server diterima - Status FALSE:
akan menunggu hingga respon dari server, selama respon belum di dapat proses yang ada berikutnya akan di hold hingga respon dari server di terima.
Setelah melakukan request kepada server function akan menunggu respon dari server
oRequest.onreadystatechange
selama menggu respon dari server, bagian script berikut pd function akan dijalankan
document.getElementById("divContent").innerHTML="Menunggu Respon server";
if (oRequest.readyState == 4) { // baca data respon dari server
var response = oRequest.responseText;
document.getElementById("divContent").innerHTML = response;
}
}
ReadyState status:
0: uninitialized = Open status belum dijalankan
1: loading = Status request belum di jalankan
2: loaded = Status request sudah di kirimkan, dan menunggu respon dari server.
3: interactive = Respon dari server sedang dalam proses download.
4: completed = Respon data dari server telah selesai di download.
Function akan menunggu hingga status respon dari server
oRequest.readyState == 4, nilai 4 tersebut berarti respon telah selesai diberikan oleh server, setelah respon selesai di kirimkan hasil respon di tampung kedalam variabel bernama
response, proses menampung data respon ini mengunakan sintaks berikut :
var response = oRequest.responseText;
Dan selanjutnya data hasil respon di tampilkan pada div dengan nama
“divcontent” yang telah di persiapkan sebelumnya, untuk menampilkan hasil respon ini mengunakan bantuan DOM (document object model) berikut :
document.getElementById("divContent").innerHTML = response;
Sampai disini baru terlihat pemanfaatan
Javascript dalam mengunakan
object XMLHttpRequest saja, data yang di berikan oleh server masih berupa file content statis dan belum memanfaatkan XML data respon.