Ajax Form Submit Javascript

5 min read Jun 22, 2024
Ajax Form Submit Javascript

Kirim Formulir dengan AJAX Menggunakan JavaScript

AJAX (Asynchronous JavaScript and XML) merupakan teknik yang memungkinkan halaman web untuk mengirimkan dan mengambil data dari server tanpa me-reload halaman secara keseluruhan. Hal ini bermanfaat untuk meningkatkan pengalaman pengguna dengan membuat aplikasi web menjadi lebih interaktif dan responsif. Salah satu penerapan AJAX yang umum adalah untuk mengirimkan data formulir ke server tanpa harus me-reload halaman.

Berikut adalah langkah-langkah untuk mengirimkan formulir menggunakan AJAX dalam JavaScript:

1. Buat Formulir HTML

Pertama, buatlah formulir HTML yang ingin Anda kirimkan melalui AJAX. Pastikan Anda menambahkan atribut method dan action pada formulir. Atribut method menentukan metode pengiriman data (POST atau GET) dan action menunjuk ke URL server yang akan memproses data formulir.





2. Tambahkan Event Listener untuk Event Submit

Selanjutnya, tambahkan event listener untuk event submit pada formulir. Event listener akan dipicu ketika formulir di-submit dan akan menjalankan fungsi yang Anda tentukan.

const form = document.getElementById('myForm');

form.addEventListener('submit', (event) => {
  // Cegah formulir dari submit secara default
  event.preventDefault();

  // Kirim data formulir menggunakan AJAX
  submitForm();
});

3. Buat Fungsi untuk Mengirim Data Formulir

Buat fungsi submitForm() yang akan menangani pengiriman data formulir menggunakan AJAX. Fungsi ini akan mengambil data dari formulir, membentuk objek FormData, dan mengirimkannya ke server menggunakan objek XMLHttpRequest.

function submitForm() {
  // Buat objek FormData
  const formData = new FormData(form);

  // Buat objek XMLHttpRequest
  const xhr = new XMLHttpRequest();

  // Atur URL tujuan
  xhr.open('POST', '/submit');

  // Atur fungsi yang akan dijalankan ketika permintaan selesai
  xhr.onload = () => {
    if (xhr.status >= 200 && xhr.status < 300) {
      // Tangani respons server
      console.log('Formulir berhasil dikirim!');
    } else {
      // Tangani error server
      console.error('Terjadi kesalahan saat mengirim formulir.');
    }
  };

  // Kirim permintaan AJAX
  xhr.send(formData);
}

4. Tangani Respons Server

Dalam fungsi onload, Anda dapat menangani respons yang diterima dari server. Anda dapat memeriksa status HTTP untuk menentukan apakah permintaan berhasil atau tidak. Jika berhasil, Anda dapat menampilkan pesan sukses atau mengarahkan pengguna ke halaman lain. Jika terjadi error, Anda dapat menampilkan pesan error kepada pengguna.

Keuntungan Menggunakan AJAX untuk Mengirim Formulir:

  • Pengalaman pengguna yang lebih baik: Pengguna tidak perlu me-reload halaman saat mengirim formulir, sehingga aplikasi web terasa lebih responsif dan interaktif.
  • Pengiriman data yang lebih efisien: Data formulir dikirim secara asinkron, sehingga tidak mengganggu proses di halaman web yang sedang aktif.
  • Pembaruan konten yang dinamis: Anda dapat memperbarui konten halaman web berdasarkan respons server tanpa me-reload halaman secara keseluruhan.

Kesimpulan

AJAX merupakan teknik yang sangat berguna untuk membuat aplikasi web yang lebih interaktif dan responsif. Dengan menggunakan AJAX, Anda dapat mengirimkan data formulir ke server tanpa harus me-reload halaman, sehingga meningkatkan pengalaman pengguna secara keseluruhan.