Section Artikel
Langkah-langkah Operasi AJAX dapat kita buat dengan tahapan berikut ini
Event yang dibuat oleh client akan terjadi jika memenuhi kegiatan dibawah ini
contoh input atau masukan diatas adalah seperti ini
<input type = "text" size = "20" id = "userid" name = "id" onkeyup = "validateUserId();">.
Setelah itu langkah yang dapat dilakukan yaitu, kita akan menulis sebuah fungsi yang akan dilakukan oleh client atau event ini akan dipanggil oleh client kemudian membuat fungsi callback untuk memproses request yang dikirimkan. Setelah selesai maka kita dapat membuat request secara asynchronous kedalam webserver. Webserver akan mengembalikan hasil dari request yang dikirimkan dengan kandungan format Dokumen XML. Kitadapat menerapkan skrip ini pada sisi server Anda dalam bahasa apa pun, dengan tambahan logika seperti berikut ini
Objek XMLHttpRequest sekarang telah dikonfigurasi dengan tujuan untuk memanggil fungsi processRequest () ketika ada perubahan status ke readyState dari objek XMLHttpRequest. Sekarang fungsi ini akan menerima hasil dari server dan akan melakukan pemrosesan yang diperlukan. Seperti pada contoh berikut, fungsi dibawah ini akan menetapkan pesan variabel dengan kondisi true atau false berdasarkan nilai yang dikembalikan dari Webserver. Untuk fungsinya sendiri dapat kita buat dengan kode berikut ini
function processRequest() {
if (req.readyState == 4) {
if (req.status == 200) {
var message = ...;
...
}
Sekarang adalah langkah terakhir dan pada langkah ini, halaman HTML Anda akan diperbarui atau diupdate ketika semua proses telah diselesaikan. Ini akan terjadi dengan cara berikut ini
Jika Anda telah memahami tujuh langkah yang disebutkan di atas, maka Anda hampir selesai dengan AJAX. Sekarang kita akan bahas lebih lengkap mengenai Objek XMLHttpRequest.
Objek XMLHttpRequest digunakan untuk membuat komunikasi secara asynchronous antara klien dan server. Ini akan terjadi dengan melakukan operasi berikut:
Objek XMLHttpRequest adalah kunci AJAX. Ini telah tersedia sejak Internet Explorer 5.5 dirilis pada Juli 2000, tetapi tidak sepenuhnya ditemukan sampai AJAX dan Web 2.0 pada tahun 2005 menjadi populer. XMLHttpRequest (XHR) adalah API yang dapat digunakan oleh JavaScript, JScript, VBScript, dan bahasa skrip browser web lainnya untuk mentransfer dan memanipulasi data XML ke dan dari server web menggunakan HTTP, membuat saluran koneksi independen antara Sisi-Klien halaman web dan Sisi server.
Data yang dikembalikan dari panggilan XMLHttpRequest akan sering disediakan oleh database back-end. Selain XML, XMLHttpRequest dapat digunakan untuk mengambil data dalam format lain, misalkan JSON atau bahkan teks biasa.
Properti umum yang ada dalam objek XMLHttpRequest adalah sebagai berikut
Property | Deskripsi |
---|---|
onReadyStateChange | onReadyStateChange Ini dipanggil setiap kali atribut readystate berubah. Ini tidak boleh digunakan dengan permintaan synchronous. |
readyState | readyState mewakili status dari suatu permintaan dari client, status ini berkisar dari 0 hingga 4. Status ini dapat kita lihat dengan kode dibawah ini: 0 UNOPENED open () yaitu tidak dipanggil. 1 OPENED yaitu open dipanggil tetapi send () tidak dipanggil. 2 HEADERS_RECEIVED send () yaitu dipanggil, dan header serta status tersedia. 3 LOADING yaitu Mendownload data; responseText menyimpan data. 4 DONE yaitu Operasi selesai sepenuhnya. |
reponseText | reponseText akan mengembalikan respons sebagai teks. |
responseXML | reponseXML akan mengembalikan respons sebagai XML. propertinya mengembalikan objek dokumen XML, yang dapat diperiksa dan diurai menggunakan metode dan properti node tree dari DOM W3C. |
status | Mengembalikan status sebagai angka (misalkan, 404 untuk “Tidak Ditemukan” dan 200 untuk “Oke”). |
statusText | Mengembalikan status sebagai string (misalkan, “Tidak Ditemukan” atau “Oke”). |
Method | Deskripsi |
---|---|
void open(method, URL) | void open (metode, URL) yaitu metode yang membuka permintaan dan menentukan metode get atau post dan url. |
void open(method, URL, async) | void open (metode, URL, async) yaitu sama seperti metode di atas tetapi menentukan asynchronous atau tidak. |
void open(method, URL, async, username, password) | void open (metode, URL, async, username, password) yaitu sama seperti di atas tetapi menentukan nama pengguna dan kata sandi |
void send() | void send () yaitu fungsi akan mengirimkan get request. |
void send(string) | void send (string) yaitu fungsi akan mengirimkan post request. |
setRequestHeader(header,value) | setRequestHeader (header, value) yaitu menambahkan header request. |
abort() | Membatalkan permintaan saat ini. |
getAllResponseHeaders () | getAllResponseHeaders () yaitu fungsi yang mengembalikan set lengkap header HTTP sebagai string |
getResponseHeader (headerName) | getResponseHeader (headerName) yaitu fungsi yang mengembalikan nilai dari header HTTP yang ditentukan. |
Menentukan metode, URL, dan atribut opsional lain dari sebuah permintaan atau request. Parameter suatu metode dapat memiliki nilai “GET”, “POST”, atau “HEAD”. Metode HTTP lain seperti “PUT” dan “DELETE” (terutama digunakan dalam aplikasi REST) dapat dilakukan. Parameter “async” menentukan apakah permintaan harus ditangani secara asinkron atau tidak. “true” berarti pemrosesan skrip berjalan setelah metode send () tanpa menunggu respons, dan “false” berarti skrip menunggu respons sebelum melanjutkan proses skrip.