Jumat, 01 Juli 2011

Belajar Ajax menggunakan jQuery


Jquery adalah framework javascript yang sedang tren saat ini. Selain dukungan fasilitas yang lengkap, membuat plugin jquery juga cukup mudah. Dukungan ajax adalah salah satu fasilitas yang sudah tersedia di jquery. Jika masih bingung tentang apa itu ajax, bisa melihat artikel berikut ini.

Ok, kita lanjut dengan latihannya.

Latihan ini membutuhkan
  1. XAMPP yang telah terinstall
  2. JSON Extension di php sudah terpasang. cara mengecek fungsi - fungsi yang telah terpasang dengan kode ini
info.php



<?php

phpinfo();

?>



Firebug sudah diinstall di Firefox. Jika tidak menggunakan firefox, gunakan chrome atau opera. Ini penting untuk mendebug aplikasi ajax

1. buat file php dengan nama data.php , file ini adalah penyedia sumber data.
kode :




Simpan dengan nama data.php


<?php

//siapkan data array
$data = array("nama"=>"Budi","Alamat"=>"Bekasi , Indonesia","Web"=>"http://www.paketkredit.com");

//set header file agar browser mengenali jenis data
header("content-type: Application/json");

//keluarkan data
echo json_encode($data);

?>






Ok, kita test dulu file data kita ini apakah sudah siap atau masih error. Jika menggunakan FF, maka apabila dipanggil dari browser
akan menampilkan kotak dialog download seperti ini :






Ok jika telah berhasil , kita lanjutkan ke langkah ke-2

2. Buat file dengan nama index.php yang berisi html biasa





<html>
<head>
<!-- jquery -->
<script src='jquery.js'></script>
</head>

<body>
Nama <input type='text' id='nama'><br>
Alamat <input type='text' id='alamat'><br>
Web <input type='text' id='web'><br>
<input type='button' id='ambildata' value="Ambil Data"><br>

<script>
//ini akan dijalankan apabila seluruh dokumen dan
//file pendukungnya telah berhasil diambil oleh browser
$(document).ready(function(){

//mengassign klik function ke button.
//#ambildata artinya element dom yang mempunyai id 'ambildata'
$("#ambildata").click(function(){

//kita bisa mencoba dengan test
alert("test");

});
});
</script>

</body>
</html>



Apabila berhasil mengassign click function ke tombol, maka akan muncul pesan alert.
Ok, kita lanjutkan ke final step. ajax.

3. Membaca data ajax.

Modifikasi file index.php dari langkah kedua menjadi seperti ini :




<html>
<head>
<!-- jquery -->
<script src='jquery.js'></script>
</head>

<body>
Nama <input type='text' id='nama'><br>
Alamat <input type='text' id='alamat'><br>
Web <input type='text' id='web'><br>
<input type='button' id='ambildata' value="Ambil Data"><br>

<script>
//ini akan dijalankan apabila seluruh dokumen dan
//file pendukungnya telah berhasil diambil oleh browser
$(document).ready(function(){

//mengassign klik function ke button.
//#ambildata artinya element dom yang mempunyai id 'ambildata'
$("#ambildata").click(function(){

//kita bisa mencoba dengan test
$.ajax({url:"data.php",
success:function(data){

alert(data);
//variabel data merupakan variabel yang menampung data dari hasil ajax request

},
dataType:"json"
});

});
});
</script>

</body>
</html>



nah, sekarang bila button 'ambil data; di click maka yang muncul bukanlah alert test, tapi alert object. buka firebug
hingga seperti tampilan diatas. Dengan firebug kita bisa melihat data jsonnya. dan OOps ternyata harus sampai langkah ke 4
untuk menjelaskan ini.

4. Mengupdate UI di browser.
Mengupdate ui dengan jquery sangat mudah.
Modifikasi index.php diatas hingga menjadi seperti ini :






<html>
<head>
<!-- jquery -->
<script src='jquery.js'></script>
</head>

<body>
Nama <input type='text' id='nama' /><br>
Alamat <input type='text' id='alamat' /><br>
Web <input type='text' id='web' size='45'/><br>
<input type='button' id='ambildata' value="Ambil Data"><br>

<script>
//ini akan dijalankan apabila seluruh dokumen dan
//file pendukungnya telah berhasil diambil oleh browser
$(document).ready(function(){

//mengassign klik function ke button.
//#ambildata artinya element dom yang mempunyai id 'ambildata'
$("#ambildata").click(function(){

//kita bisa mencoba dengan test
$.ajax({url:"data.php",
success:function(data){

//variabel data merupakan variabel yang menampung data dari hasil ajax request

//mengupdate UI
$("#nama").val(data.nama);
$("#alamat").val(data.Alamat); //nah disini , nama property dari data json adalah
$("#web").val(data.Web); //case sensitive. karena dilingkungan javascript

},
dataType:"json"
});

});
});
</script>

</body>
</html>



Ok. jika anda berhasil maka tampilannya akan seperti seperti ini.





Happy Coding!

2 komentar:

Isi Komentar / Pertanyaan