UNIT 8
AJAX
1. Tujuan Praktikum
Setelah mengikuti unit praktikum ini, diharapkan praktikan dapat :
a. Memahami pengertian AJAX.
b. Memahami mekanisme proses AJAX.
c. Memahami kegunaan AJAX.
d. Mampu mengimplementasikan AJAX Interface.
e. Mampu mengimplementasikan AJAX Event Handler.
f. Memahami konsep penggunaan AJAX.
2. Materi Praktikum
2.1 Pengertian AJAX Commented [ee1]: Typo om. 2.1 mulainya
Penjelasan :
Penjelasan :
a. Proses berawal dari web client. Web client meminta
(request) sebuah halaman PHP ke server melalui JavaScript.
b. Server merespon dan menjalankan script PHP.
c. Script PHP akan menghasilkan respon dalam bentuk HTML
sehingga halaman web akan refresh atau memperbarui
tampilan. Ini yang membedakan pemrosesan sebuah Commented [ee2]: Rancu banget, wagu. Perbaiki.
Syntax:
$.ajax({name:value, name:value,...})
Name Value/Description
beforeSend( xhr ) Sebuah fungsi yang akan dijalankan sebelum
permintaan dikirimkan
cache Sebuah nilai boolean yang mengindikasikan
apakah browser harus menyimpan data
sementara dari halaman yang diminta. Secara
default bernilai benar
complete( xhr,status ) Sebuah fungsi yang akan dijalankan setelah
permintaan selesai dilakukan (setelah fungsi error
dan sukses)
data Menentukan data yang akan dikirimkan ke server
dataType Tipe data yang diharapkan dari respon server
error( xhr,status,error ) Sebuah fungsi yang akan dijalankan jika
permintaan gagal
success( result,status,xhr ) Sebuah fungsi yang akan dijalankan ketika
permintaan sukses dilakukan
type Menentukan tipe dari permintaan (GET atau
POST)
url Menentukan URL untuk dikirimkan untuk
permintaan yang dituju
xhr Sebuah fungsi yang digunakan untuk membuat
objek XMLHttpRequest
ajax.php
<html>
<head>
<title>Contoh AJAX</title>
<script type="text/javascript"
src="http://code.jquery.com/jquery-
1.7.2.min.js"></script>
<script>
$().ready(function(){
$('#tombol').click(function(){
$.ajax({
url: "latihan.php",
beforeSend: function(){
$('#loading').show();
},
success: function(html){
$('#loading').hide();
alert(html);
}
});
});
});
</script>
</head>
<body>
<center><span id="loading"
7 | Modul Praktikum Pemrograman Web 2013/2014 />
style="display:none">LOADING...</span><br
<button id="tombol">Klik di sini!</button></center>
</body>
</html>
Laboratorium SIRKEL
Jurusan Teknik Informatika, Universitas Islam Indonesia
Screenshot Hasil :
2.4.2 load()
Digunakan untuk memuat data dari server kemudian
menempatkannya ke data yang dikembalikan ke dalam
elemen yang dipilih.
Syntax :
$(selector).load(URL,callback);
Keterangan :
URL : URL yang dibutuhkan untuk menentukan URL yang
akan dimuat.
callback : parameter opsional yang berisikan nama-nama
fungsi yang akan dieksekusi setelah load() selesai
dijalankan.
latihan.php
<h2>Selamat Anda Berhasil Mengubah Teks</h2>
load.php
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript"
src="http://code.jquery.com/jquery-
1.7.2.min.js"></script>
<script language="JAVASCRIPT">
$(document).ready(function(){
$("button").click(function(){
$("#div1").load("latihan.php");
});
});
</script>
</head>
<body>
<div id="div1">
<center><h2>TEKS AKAN BERUBAH JIKA MENEKAN TOMBOL DI
BAWAH INI</h2>
<button>BERUBAH</button></center>
</div>
</body>
</html>
Screenshot Hasil :
Setelah script di atas dieksekusi maka akan muncul seperti di
bawah ini.
2.4.3 get()
Fungsi get() dan post() digunakan untuk merespon
permintaan antara klien dan server.
Pada dasarnya fungsi get() digunakan untuk
mendapatkan (mengambil) beberapa data dari server. Fungsi
get() digunakan untuk meminta data dari sumber yang
ditentukan atau server menggunakan sebuah permintaan
HTTP GET.
Syntax :
$.get(URL,callback);
latihan_get.php
<?php
echo "Ini Adalah Isi dari Latihan_get.php";
?>
get.php
<!DOCTYPE html>
<html>
<head>
<script language="JAVASCRIPT" src="js/jquery-
1.9.1.min.js"></script>
<script language="JAVASCRIPT">
$(document).ready(function(){
$("button").click(function(){
$.get("latihan_get.php",function(data,status){
alert("Data: " + data + "\nStatus: " + status);
});
});
});
</script>
</head>
<body>
<button>Mengirimkan permintaan HTTP GET ke sebuah
halaman dan mendapatkan hasilnya kembali</button>
</body>
</html>
Screenshot Hasil :
Setelah script di atas dieksekusi maka akan muncul seperti di
bawah ini.
2.4.4 post()
Pada dasarnya fungsi post() digunakan untuk mengirimkan
data bersama dengan permintaan. Fungsi post() digunakan
untuk meminta dan menyerahkan data yang akan diproses
ke sumber yang ditentukan atau server dengan
menggunakan sebuah permintaan HTTP POST.
Syntax :
$.post(URL,data,callback);
latihan_post.php
<?php
$nama=$_POST["nama"];
$materi=$_POST["materi"];
echo "Hallo ".$nama.". ";
echo "Sekarang kita belajar ".$materi.".";
?>
post.php
<!DOCTYPE html>
<html>
<head>
<script language="JAVASCRIPT" src="js/jquery-
1.9.1.min.js"></script>
<script language="JAVASCRIPT">
$(document).ready(function(){
12 | Modul Praktikum Pemrograman Web 2013/2014
$("button").click(function(){
$.post("latihan_post.php",
{
nama:"Sirkel",
Laboratorium SIRKEL
Jurusan Teknik Informatika, Universitas Islam Indonesia
Screenshot Hasil :
Setelah script di atas dieksekusi maka akan muncul seperti di
bawah ini.
Syntax :
$(selector).ajaxComplete(function(event,xhr,
options))
Parameter Deskripsi
<!DOCTYPE html>
<html>
<head>
<script
src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jq
uery.min.js">
</script>
<script>
$(document).ready(function(){
$("#txt").ajaxStart(function(){
$("#wait").css("display","block");
});
$("#txt").ajaxComplete(function(){
$("#wait").css("display","none");
});
$("button").click(function(){
$("#txt").load("file.php");
});
});
</script>
</head>
<body>
<div id="txt"><h2>Learn Ajax With Sirkel
Laboratory</h2></div>
<br>
15 | ModulSaya</button>
<button>Klik Praktikum Pemrograman Web 2013/2014
<br>
<div style="display:none;">
<img src='loading.gif' width="64" height="64" />
Laboratorium SIRKEL
Jurusan Teknik Informatika, Universitas Islam Indonesia
Screenshot Hasil :
Syntax :
$(selector).ajaxError(function(event,xhr,
options,exc))
Parameter Deskripsi
permintaan gagal.
Tambahan parameter:
event - event berisi objek
xhr - berisi objek XMLHttpRequest
options - berisi pilihan yang digunakan dalam
permintaan AJAX
exc - berisi pengecualian JavaScript, jika
salah satu terjadi
Contoh :
AjaxError.php
<!DOCTYPE html>
<html>
<head>
<script
src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jqu
ery.min.js">
</script>
<script>
$(document).ready(function(){
$("div").ajaxError(function(){
alert("Ada Eror Gan!");
});
$("button").click(function(){
$("div").load("File.php");
});
});
</script>
</head>
<body>
<div><h2>Try Ajax With Sirkel Lab</h2></div>
<button>Klik Saya</button>
</body>
</html>
Screenshot Hasil :
Syntax :
$(selector).ajaxSend(function(event,xhr,
options))
Parameter Deskripsi
AjaxSend.php
<!DOCTYPE html>
<html>
<head>
<script
src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jqu
ery.min.js">
</script>
<script>
$(document).ready(function(){
$("div").ajaxSend(function(e,xhr,opt){
$(this).html("Requesting " + opt.url);
});
$("button").click(function(){
$("div").load("file.php");
});
});
</script>
</head>
<body>
<div><h2>Try AjaxSend() with Sirkel</h2></div>
<button>Klik Saya</button>
Screenshot Hasil :
</body>
</html>
Syntax :
$(selector).ajaxStart(function())
Contoh :
AjaxStart.php
<!DOCTYPE html>
<html>
<head>
<script
src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jq
uery.min.js">
Parameter
</script> Deskripsi
<script>
function() Menentukan fungsi untuk menjalankan
$(document).ready(function(){
$("div").ajaxStart(function(){
ketika permintaan AJAX dimulai
$(this).html("<img src='loading.gif' />");
});
$("button").click(function(){
$("div").load("file.php");
});
});
</script>
</head>
<body>
<div><h2>Try Ajax Start with Sirkel</h2></div>
<button>Tekan Saya</button>
</body>
</html>
Screenshot Hasil :
Parameter Deskripsi
Syntax :
$(selector).ajaxStop(function())
Ketika sebuah permintaan AJAX selesai, cek jQuery jika ada lagi
permintaan AJAX. Fungsi ditentukan dengan metode ajaxStop ()
akan dijalankan jika tidak ada permintaan lain yang tertunda.
Contoh :
AjaxStop.php
<!DOCTYPE html>
<html>
<head>
<script
src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jq
uery.min.js">
</script>
<script>
$(document).ready(function(){
$("div").ajaxStop(function(){
alert("Request AJAX Berhasil");
});
$("button").click(function(){
$("div").load("ajax.txt");
$("div").load("file.php");
});
});
</script>
</head>
<body>
<div><h2>Try ajaxStop with Sirkel</h2></div>
<button>Klik Me</button>
</body>
</html>
Ajax.txt
Ajax With Jquery == COOL!
Screenshot Hasil :
Lalu pilih Klik Me. Maka akan muncul seperti dibawah ini :
Note :
Masih ada banyak lagi Event Handler AJAX bisa langsung dipelajar di
http://api.jquery.com/category/ajax/global-ajax-event-handlers/ atau di
http://www.w3schools.com/jquery/jquery_ref_ajax.asp
index.php
<html>
<head>
<script type="text/javascript" src="jquery.js">
</script>
<title></title>
</head>
<body>
<fieldset style="width: 250px;">
<legend> Form Input With Ajax </legend>
<form id="form">
23 | Modul Praktikum Pemrograman Web 2013/2014
<table>
<tr>
<td> Nim </td>
<td> : </td>
Laboratorium SIRKEL
Jurusan Teknik Informatika, Universitas Islam Indonesia
koneksi.php
<?php
mysql_connect("localhost","root","");
mysql_select_db("namadatabase");
?>
proses.php
<?php
// print_r($_POST);
include'koneksi.php';
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$alamat = $_POST['alamat'];
Hasil :