Pernahkah Anda membuka sebuah website, lalu klik tombol atau tautan dan kontennya berubah tanpa perlu memuat ulang seluruh halaman? Itulah keajaiban dari Asynchronous JavaScript and XML atau yang lebih dikenal dengan Ajax. Teknologi ini memungkinkan kita untuk berkomunikasi dengan server di belakang layar, mengambil data baru, dan memperbarui bagian tertentu dari halaman web secara dinamis.
Artikel ini akan memandu Anda membuat halaman web yang menggunakan Ajax untuk memuat konten tanpa page reload menggunakan pustaka JavaScript jQuery, yang sangat menyederhanakan prosesnya.
Mengapa Ajax Penting?
Tanpa Ajax, setiap kali kita perlu memperbarui konten, browser harus mengirimkan permintaan ke server dan memuat ulang seluruh halaman. Proses ini seringkali lambat, memakan bandwidth, dan mengganggu pengalaman pengguna.
Dengan Ajax, kita bisa:
- Menciptakan pengalaman pengguna yang lebih cepat dan lancar.
 - Mengurangi beban server dan penggunaan bandwidth.
 - Membuat aplikasi web yang terasa seperti aplikasi desktop.
 
Persiapan Awal
Sebelum memulai, pastikan Anda telah menyertakan pustaka jQuery di dalam file HTML Anda. Cara termudah adalah dengan menggunakan CDN (Content Delivery Network).
Tambahkan kode ini di dalam bagian <head> atau tepat sebelum tag penutup </body> di file HTML Anda.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
Struktur HTML
Kita akan membuat struktur HTML yang sangat sederhana: satu tombol untuk memicu permintaan Ajax dan satu area kosong (<div>) sebagai tempat untuk menampilkan konten yang diambil dari server.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Web Interaktif dengan Ajax</title>
</head>
<body>
    <h1>Halaman Web Tanpa Reload</h1>
    <button id="load-content">Muat Konten Baru</button>
    <div id="content-container">
        </div>
</body>
</html>
Penjelasan:
#load-content: Tombol yang akan kita klik untuk memulai permintaan Ajax.#content-container: Elemendivkosong tempat konten baru akan disisipkan.
Kode jQuery untuk Permintaan Ajax
Sekarang, mari kita tambahkan kode jQuery. Logikanya sederhana: saat tombol #load-content diklik, kita akan menggunakan fungsi $.ajax() jQuery untuk mengambil data dari file lain, lalu menampilkannya di dalam #content-container.
Kita asumsikan Anda memiliki file bernama data.html yang berisi konten yang ingin Anda tampilkan.
Isi file data.html (anggap ini adalah respons dari server):
<h2>Ini adalah Konten Baru!</h2>
<p>Konten ini dimuat secara dinamis melalui Ajax tanpa me-reload seluruh halaman.</p>
Kode JavaScript Anda (tambahkan di file HTML Anda, di dalam tag <script>):
<script>
$(document).ready(function() {
    // Tangani event klik pada tombol dengan ID "load-content"
    $('#load-content').on('click', function() {
        
        // Gunakan $.ajax() untuk membuat permintaan ke server
        $.ajax({
            url: 'data.html', // URL dari data yang ingin diambil
            type: 'GET',     // Metode permintaan HTTP (GET atau POST)
            dataType: 'html',// Tipe data yang diharapkan (html, json, xml, dll)
            
            // Fungsi yang akan dijalankan jika permintaan berhasil
            success: function(data) {
                // Sisipkan data yang diterima ke dalam div dengan ID "content-container"
                $('#content-container').html(data);
            },
            
            // Fungsi yang akan dijalankan jika permintaan gagal
            error: function() {
                // Tampilkan pesan error
                $('#content-container').html('<p>Gagal memuat konten. Silakan coba lagi.</p>');
            }
        });
    });
});
</script>
Penjelasan Kode
$(document).ready(function() { ... });: Memastikan kode dijalankan setelah seluruh halaman web dimuat dengan sempurna.$('#load-content').on('click', function() { ... });: Ini adalah event handler yang “mendengarkan” kapan tombol dengan IDload-contentdiklik.$.ajax({ ... });: Fungsi inti jQuery untuk Ajax. Di dalamnya, kita tentukan beberapa properti:url: 'data.html': Menentukan target permintaan. Dalam kasus ini, kita mengambil konten dari filedata.htmlyang berada di direktori yang sama.type: 'GET': Menunjukkan kita hanya ingin “mendapatkan” data, bukan mengirim data.dataType: 'html': Memberi tahu jQuery bahwa respons yang diharapkan adalah kode HTML.success: function(data) { ... }: Jika server merespons dengan sukses, fungsi ini akan dieksekusi. Variabeldataakan berisi konten daridata.html.$('#content-container').html(data);: Baris inilah yang melakukan keajaiban. Ia mengambil konten dari variabeldatadan menyisipkannya ke dalam elemen dengan IDcontent-container, memperbarui tampilan tanpa memuat ulang seluruh halaman.
Mengembangkan Lebih Lanjut
Contoh di atas adalah dasar dari Ajax. Anda bisa mengembangkannya lebih lanjut dengan:
- Mengambil data dalam format JSON dan memanipulasinya sebelum ditampilkan.
 - Menampilkan indikator loading saat permintaan sedang berlangsung.
 - Menggunakan metode yang lebih sederhana seperti 
$.get(),$.post(), atau$.load()untuk kasus penggunaan yang lebih spesifik. 
Dengan Ajax dan jQuery, Anda memiliki alat yang kuat untuk membangun pengalaman web yang modern, cepat, dan responsif.