Pada prinsipnya AJAX menggunakan bahasa javascript namun dalam penggunanya kode javascript cukup sulit
bagi pemula sehingga lebih mudah jika kita menggunakan library javascript yaitu jQuery, untuk lebih jelasnya
simak pembahasan berikut ini:
Persiapan
Pada tutorial kali ini kita belajar ajax dasar menggunakan jQuery dan PHP sehingga ada beberapa hal yang
perlu dipersiapkan yaitu:
Download jQuery-3.5.1
Install aplikasi Xampp
Hingga pada saat artikel ini ditulis jQuery versi terakhir adalah versi 3.5.1 kalian bisa juga menggunakan versi
terbaru yang tersedia disitus resminya.
Metode load() adalah metode yang tersedia di dalam library jQuery yang digunakan untuk memuat data dari
server yang kemudian dapat ditempatkan pada elemen tertentu di halaman website.
Bentuk Umum:
$(selector).load(URL,data,callback);
<?php
File demo.php berfungsi sebagai file yang akan di muat dengan AJAX menggunakan metode load().
Langkah 2 : Buat file index.php
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<button id="btn_tampil">Tampilkan</button>
<script>
$(document).ready(function(){
$('#btn_tampil').click(function(){
$('#tampil').load('demo.php');
});
});
</script>
</body>
</html>
File index.php berfungsi sebagai file utama yang akan memuat informasi yang di request menggunakan
metode load() pada file demo.php.
Perhatikan pada bagian <head> kita menyisipkan file jquery-3.5.1.min.js yang berada di dalam satu
folder project di htdocs.
Pada contoh ini kita menggunakan atribut ID yang ditandai dengan tanda # kalian juga bisa memakai
atribut class dengan tanda . (titik) sebagai selector pada saat dipanggil memakai jQuery.
Elemen yang dipakai untuk menampilkan data yang diload adalah pada elemen <div> dengan atribut
id=’tampil’, Saat tombol dengan atribut id=’btn_tampil’ di klik maka isi dari file demo.php akan dimuat ke
dalam elemen id=’tampil’.
Metode get() akan meminta data dari server dengan jenis HTTP GET dengan bentuk umum sebagai berikut:
$.get (URL,callback);
Dari metode get dapat dilihat ada dua perameter yaitu URL dan callback, parameter URL digunakan untuk
menentukan URL yang diminta, sedangkan parameter callback adalah fungsi yang akan dieksekusi saat
permintaan berhasil.
Contoh:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<button id="btn_tampil">Tampilkan</button>
<script>
$(document).ready(function(){
$('#btn_tampil').click(function(){
$.get('info.php',function(data, status){
});
});
});
</script>
</body>
</html>
<?php
?>
Saat tombol Tampilkan di klik maka browser akan menampilkan jendela pemberitahuan dengan menampilkan
data yang diambil dari file eksternal PHP dan menampilkan status sukses.
$.podt(URL,data,callback);
Pada metode post sedikit ada tambahan pada parameter opsional dimana kita dapat menentukan beberapa data
yang akan dikirim bersamaan saat permintaan (request) dilakukan.
Contoh:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<button id="btn_tampil">Tampilkan</button>
<script>
$(document).ready(function(){
$('#btn_tampil').click(function(){
88'},
function(data, status){
});
});
});
</script>
</body>
</html>
<?php
$nama=$_POST['nama'];
$alamat=$_POST['alamat'];
?>
Dapat dilihat dengan metode post kita dapat mengirim beberapa data ke server lalu ditampilkan.
Semua metode ajax jquery menggunakan metode ajax(), metode ini kebanyakan digunakan untuk permintaan
(request) data ke server disaat metode lain tidak dapat digunakan.
$.ajax({URL,data,cache,success})
Metode ajax sebetulnya memiliki banyak parameter kalian bisa membaca pada referensi di w3school. Untuk
contoh penggunannya saya akan contohkan dengan menggunakan database, simak pembahasannya dibawah:
Bekerja Dengan Database
Pada bagian ini dalam sesi belajar ajax Saya akan sedikit mencontohkan bagaimana penggunaan AJAX di
dalam aplikasi web yang sudah terhubung dengan database. Basis data yang dipakai adalah MySQL, ada dua
contoh yang akan saya bagikan yang pertama penggunaan AJAX pada form dan ajax pada komponen
combobox (tag select).
);
<?php
$host="localhost";
$user="root";
$password="";
$db="belajar_ajax";
$kon = mysqli_connect($host,$user,$password,$db);
if (!$kon){
die("Koneksi gagal:".mysqli_connect_error());
}
?>
File koneksi berfungsi untuk membuat koneksi ke database dengan beberapa konfigurasi pada host, user,
password dan database yang digunakan. Pastikan konfigurasi ini kalian sesuaikan dengan yang kalian pakai.
Langkah 4 : Membuat file index.html
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<label>NIK </label>
<label>Nama </label>
<label>Jurusan</label>
<select name="jurusan">
</select>
</form>
<button id="btn_tampil">Tampilkan</button>
<hr>
<div id="tampil_data"></div>
<script>
$(document).ready(function(){
$('#tampil_data').load("tampil.php");
$('#btn_tampil').click(function(){
$.ajax({
type : 'POST',
url : "tambah.php",
data: data,
cache : false,
success : function(data){
$('#tampil_data').load("tampil.php");
});
});
});
</script>
</body>
</html>
File index berfungsi sebagai halaman utama saat program dijalankan dari localhost. Dengan menampilkan
form sederhana untuk data mahasiswa.
<?php
include "koneksi.php";
$nik=$_POST["nik"];
$nama=$_POST["nama"];
$jurusan=$_POST["jurusan"];
//Query input menginput data kedalam tabel mahasiswa
$hasil=mysqli_query($kon,$sql);
?>
Fungsi file tambah.php adalah menerima data yang dikirim dari form ajax yang selanjutnya kita insert
kedalam tabel mahasiswa.
Langkah 6 : Membuat file tampil.php
<table border='1'>
<tr>
<th>No</th>
<th>NIK</th>
<th>Nama</th>
<th>Jurusan</th>
</tr>
<?php
include "koneksi.php";
$no=0;
$no++;
?>
<tr>
</tr>
<?php endwhile;?>
</table>
File tampil.php berfungsi untuk menampilkan setiap data mahasiswa dari database kedalam aplikasi. File ini
kita tampilkan menggunakan metode load() yang sudah kita bahas pada materi diatas.
Dapat dilihat pada demo diatas saat form di submit halaman browser tidak melakukan refresh karena semua
proses terjadi dibelakang layar hal ini karena data di kirim ke server menggunakan AJAX.
Pada bagian terakhir seri belajar ajax saya ingin mencontohkan penggunaan AJAX pada komponen combobox,
dimana saat pengguna memilih salah satu item di combobox maka secara otomatis akan menampilkan
data/informasi berdasarkan pilihan item tersebut.
('135410189','Wawan Setiawan','MI'),
('135310156','Safitri Ayu','SI'),
('135310150','Rian Hidayat','KA'),
('135510920','Dani Hermawan','MI'),
('135518322','Nita Daniyatun','TK'),
('135518900','Mili Wilian','TI'),
('135510190','Marshel Saraun','TK'),
('135510191','Nacha Saraun','TI'),
('135558944','Bayu Mandalika','MI'),
('158984545','Juan Burnama','KA'),
('158549583','Candra Sidauruk','TK'),
('136349343','Kory Ubi','SI'),
('147343998','Chika Lestari','SI');
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<hr>
<div id="tampil_data"></div>
<script>
$(document).ready(function(){
$('#tampil_data').load("tampil.php");
$('#jurusan').bind('change', function () {
var jurusan=$("#jurusan").val();
$.ajax({
method: 'POST',
url : "tampil.php",
data: {jurusan:jurusan},
success : function(data){
$('#tampil_data').html(data);
});
});
});
</script>
</body>
</html>
File index.html berfungsi sebagai file utama yang menampilkan combobox jurusan, saat pengguna memilih
pilihan item yang lain maka event change akan terjadi dengan mengambil nilai pada combobox jurusan dan
kemudian mengirimnya ke server menggunakan metode ajax().
Langkah 3 : Buat file tampil.php
<table border='1'>
<tr>
<th>No</th>
<th>NIK</th>
<th>Nama</th>
<th>Jurusan</th>
</tr>
<?php
include "koneksi.php";
if (isset($_POST['jurusan'])) {
$jurusan=$_POST['jurusan'];
}else {
$jurusan='';
desc");
$no=0;
$no++;
?>
<tr>
</tr>
<?php endwhile;?>
</table>
File tampil berfungsi untuk menampilkan data mahasiswa berdasarkan jurusan yang dipilih dari combobox.
Dapat diliha dari hasil output diatas data yang ditampilkan di dalam tabel akan menyesuaikan berdasarkan
pilihan jurusan yang dipilih.
Kesimpulan
Sekian pembahasan artikel kali ini mengenai belajar AJAX dasar dengan menggunakan jQuery dan PHP serta
database MySQL yang sangat cocok untuk kalian para pemula. Dengan demikian dapat saya simpulan ajax
adalah suatu teknik yang sangat bagus untuk aplikasi yang responsif karena proses permintaan atau mengirim
data ke server dilakukan disisi belakang layar sehingga tidak terjadi reload halaman pada browser.
Yang kedua adalah penggunaan ajax tidak terbatas hanya untuk form maupun combobox, bisa juga kalian
implementasi pada komponen-komponen html lainnya sesuai dengan kebutuhan aplikasi yang dibuat.