INCLUDE_DATA

AJAX – Asynchronous JavaScript And XML (PART 1)

12 Mar

(Posting ulang, sebelumnya sudah pernah di posting di ruangkecil.or.id)

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.

Semua file contoh ini dapat di download disini

6 Responses to “AJAX – Asynchronous JavaScript And XML (PART 1)”

  1. stlowbelly 04. Jun, 2008 at 10:48 am #

    saya mulai tertarik dengan ajax, karena sekarang saya sedang mengerjakan tugas akhir dan ada beberapa masalah…dan? mengharuskannya dengan ajax…

    apakah ajax dapat digabungkan dengan database sql server2000 dan pHp? mohon dbls ke email saya terima kasih…stlowbelly_23_10@yahoo.co.id

    Mohon bantuannya…

  2. hendro 16. Dec, 2008 at 4:52 pm #

    gue bingung. cara makenya dimana ya? naroh codingnya dimana? gue php masih pemula. java belum tau banget. susah dong!

  3. neyra 24. Jul, 2009 at 4:41 pm #

    mantabs mas..siip bgt!!thnks

  4. Iqbal 04. Oct, 2009 at 1:58 pm #

    codingnya bisa ditulis pake apa ya?notepad kan kelamaan n rada mikir juga pake apa lg yah??maklum msh awam

Trackbacks/Pingbacks

  1. AJAX - Asynchronous JavaScript And XML (PART 3) : slash.web.id - 12. Mar, 2008

    [...] posting pertama menjelaskan pembuatan class object XMLHttpRequest dan juga pemanfaatannya dalam melakukan [...]

  2. udhien.net - Weblog of Mohammad Syafiuddin » Penjelasan AJAX Bagi Pemula - techvolution (technology evolution) - 14. Mar, 2008

    [...] AJAX Bagi Pemula Bagi anda yang ingin belajar AJAX, silahkan lihatĀ  artikel AJAX (Bagian Pertama), AJAX (Bagian Kedua), dan AJAX (Bagian Ketiga) yang diulas dengan bahasa yang mudah dipahami. [...]

Leave a Reply