0

Iklan Tengah Artikel 1

Home  ›  ajax

XMLhttpRequest

Selain metode request HTTP yang telah dijelaskan pada bab sebelumnya, masih ada metode lain yaitu XMLHttpRequest. XMLHttpRequest merupakan metode request HTTP yang beroperasi di belakang layar (tanpa harus merefresh halaman web).

 Metode ini berwujud suatu obyek. Sehingga dalam hal ini AJAX merupakan konsep yang mendeskripsikan interaksi antara XMLHttpRequest (client side object) dengan server script seperti PHP, ASP dll. 

Sayangnya, XMLHttpRequest ini memiliki bentuk obyek yang berbeda dalam beberapa browser sehingga dalam penggunaannya perlu penanganan khusus yang disesuaikan dengan jenis browsernya. Sebagai contoh, dalam IE obyek tersebut dinyatakan sebagai ActiveX Control. Pada Firefox dan Safari, XMLHttpRequest dinyatakan sebagai Javascript Object. Pada aplikasi AJAX, pendeklarasian penggunaan XMLHttpRequest ini dilakukan dalam 
sebuah Javascript. Berikut ini adalah script yang digunakan untuk pendeklarasian penggunaan XMLHttpRequest 
÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷

function membuatObyekXmlHttpRequest() 
{ var xmlHttp; 
 // pengecekan apabila menggunakan IE 
 if(window.ActiveXObject) 
 { 
 try 
 { 
 // pendeklarasian penggunaan XMLHttpRequest di IE 
 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); 
 } 
 catch (e) 
 { 
 xmlHttp = false; 
 } 
 } 
// jika browser menggunakan Firefox atau yang lain 
else 
 try 
 { 
 xmlHttp = new XMLHttpRequest(); 
 } 
 catch (e) 
 { 
 xmlHttp = false; 
 } 

Script di atas harus ada di dalam halaman web yang menggunakan AJAX. 

❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎
Dalam obyek XMLHttpRequest terdapat beberapa metode yang digunakan untuk proses request. 

Berikut ini beberapa diantaranya: 
abort() Untuk membatalkan request 
open() Untuk melakukan koneksi ke server secara asynchronous 
send() Untuk mengirim request 

Untuk metode open(), secara lengkap memiliki paramater-parameter yaitu 
open("method","URL","async") 

dengan parameter method adalah metode request HTTP yang digunakan yaitu POST atau GET. Parameter URL adalah nama URL yang akan dikoneksikan. Sedangkan parameter async dapat digantikan dengan true apabila koneksi dilakukan secara asynchronous atau false apabila tidak secara asynchronous. 


Ketika Anda menggunakan request secara asynchronous, proses request tidak akan berhenti meskipun response dari server belum diperoleh. Sedangkan apabila menggunakan request secara synchronous, maka proses request akan terhenti selama response belum diterima. Hal inilah yang menjadikan perbedaan dari kedua jenis request. Kedua jenis request tidak akan menjadi masalah apabila koneksi antara client dengan server sangat cepat. Akan tetapi untuk koneksi yang lambat, penggunaan request synchronous akan sangat mengganggu penggunaan 
aplikasi. 

Contoh  penggunaan request asyncronus adalah google sugest

Apabila tipe request yang digunakan Google Suggest tersebut adalah secara synchronous, maka setelah Anda menuliskan sebuah karakter, Anda tidak bisa menuliskan karakter berikutnya yang lain (text box tidak bisa ditambahi karakter, alias freezing…), sampai 
response server diterima (muncul list keyword). 

Tentu saja hal ini akan sangat mengganggu user apabila koneksinya lambat karena text box akan sering mengalami freezing. Sedangkan pada kenyataannya aplikasi tersebut tidak demikian. Meskipun belum ada response atau list keyword saran belum muncul, Anda tetap bisa menambahkan karakter pada text box. 
❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎❎


Properties XMLHttpRequest 

Karena berbentuk object, maka XMLHttpRequest memiliki beberapa properties. Berikut ini beberapa diantaranya yang sering digunakan untuk aplikasi AJAX. 

Readystate Menyatakan keadaan proses yang dilakukan obyek saat itu. Properties 
ini bernilai 0 s.d 4 (0: belum ada inisialisasi, 1: loading, 2: loaded, 3: interaktif, 4: selesai) 
status Menyatakan respon yang diterima dari server.Properties ini akan mengembalikan kode respon (dalam bentuk numerik) Misalnya 404 apabila file tidak ditemukan. 
responseXML Mengembalikan respon dalam format XML 
statustext Properti ini mirip dengan properti status, namun yang dikembalikan 
adalah keterangan statusnya (bukan nilai numeriknya). Misalkan responnya 404, akan mengembalikan statustext: Not Found.


Posting Komentar
Theme
Share
Additional JS