AJAX

Diposting oleh wanz-blog on Jumat, 16 Desember 2011

Share on :
Istilah AJAX technology belakangan ini sering terdengar dalam pengembangan aplikasi web, 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 pd 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 :) .
Untuk view example demo click disini
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
// jika sudah di dapat respon dari server, maka hasil respon akan di tampilkan pada DIV dengan ID="divContent"
oRequest.onreadystatechange = function () {
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; } } 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;
Untuk view example demo click disini
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.

{ 0 komentar... read them below or add one }

Posting Komentar