Minggu, 04 November 2012

AJAX: Melangkah lebih jauh dengan XMLHttpRequest

AJAX didasarkan pada penggunaan engine javascript yang tertanam hampir di semua browser modern. Dengan kontra bahwa perilaku kode javascript yang kita ciptakan akan bervariasi sesuai dengan engine javascript yang digunakan oleh masing-masing browser. Untuk mengetahui lebih lanjut engine javascript browser, Anda dapat membacanya lebih lanjut di wikipedia.

XMLHttpRequest

Seperti yang sudah dibahasa pada posting saya sebelumnya, AJAX menggunakan object javascript XMLHTTPRequest untuk berkomunikasi dengan web server.
Objek javascript XMLHttpRequest atau yang biasa disingkat xhr,seperti namanya,akan memungkinkan kita untuk membuat request melalui protokol http ke web server dengan return XML.

Membuat objek XMLHttpRequest

var xhr = null;
if (window.XMLHttpRequest) //Firefox dan lainnya
    xhr = new XMLHttpRequest();
else if (window.ActiveXObject) {//Internet Explorer
    try {
        xhr = new ActiveXObject ("MSXML2.XMLHTTP");
    } catch(e) {
        xhr = new ActiveXObject ("Microsoft.XMLHTTP");
    }
} else {
    //XMLHttpRequest tidak didukung oleh browser Anda
    alert ("Browser Anda tidak mendukung objek XMLHttpRequest ...");
    xhr = false;
}

Penggunaan Objek XMLHttpRequest

Property / Method Deskripsi
open("method","url",flag) Membuka koneksi ke server.
method: metode koneksi "GET" atau "POST"
url: url tujuan koneksi
flag: tipe boolean, true jika asynchronous.
setRequestHeader("nama","nilai") Mengeset HTTP header dalam request.
Contoh:
POST
nama->"Content-Type"
value->"application/x-www-form-urlencoded"
send("params") mengirim parameter request.
Jika menggunakan metode GET, parameter akan diset null namun parameter dikirim melalui url query string.
Jika menggunakan metode POST, parameter akan dikirim melalui form.
abort() Membatalkan request
onreadystatechange fungsi yang akan dieksekusi ketika terjadi perubahan pada objek.
readyState fungsi yang menguji fungsi onreadystatechange.
0: Not Initialized (belum / tidak di inisiasi)
1: Open (telah dibuka)
2: Sent (telah dikirim)
3: In Progress (dalam proses)
4: Ready (semua data telah dimuat)
status respon status dalam kode
statusText respon status dalam format teks
responseText respon pesan yang dikembalikan server dalam format text
responseXML respon pesan yang dikembalikan server dalam format XML

Tidak ada komentar:

Posting Komentar