AJAX, yang berarti asinkron JavaScript dan XML, adalah teknik yang memungkinkan halaman web diperbarui secara tidak serempak, yang berarti bahwa browser tidak perlu memuat ulang seluruh halaman ketika hanya sedikit data pada halaman yang telah berubah. AJAX hanya meneruskan informasi yang diperbarui ke dan dari server.
Aplikasi web standar memproses interaksi antara pengunjung web dan server secara serempak. Ini berarti bahwa satu hal terjadi setelah yang lain; server tidak melakukan banyak tugas. Jika Anda mengklik tombol, pesan dikirim ke server, dan jawabannya dikembalikan. Anda tidak dapat berinteraksi dengan elemen halaman lainnya hingga respons diterima dan halaman diperbarui.
Jelas, penundaan semacam ini dapat secara negatif mempengaruhi pengalaman pengunjung web - karenanya, AJAX.
Apa itu AJAX?
AJAX bukan bahasa pemrograman, tetapi teknik yang menggabungkan skrip sisi klien (yaitu skrip yang berjalan di browser pengguna) yang berkomunikasi dengan server web. Lebih jauh, namanya agak menyesatkan: sementara aplikasi AJAX mungkin menggunakan XML untuk mengirim data, itu juga bisa menggunakan teks biasa atau teks JSON. Tetapi secara umum, ia menggunakan objek XMLHttpRequest di browser Anda untuk meminta data dari server dan JavaScript untuk menampilkan data.
AJAX: Sinkron atau Asinkron
AJAX dapat mengakses server secara sinkron dan asinkron:
- Serentak, di mana skrip berhenti dan menunggu server mengirim balasan sebelum melanjutkan.
- Secara tidak sinkron, di mana skrip memungkinkan halaman untuk terus diproses dan menangani balasan jika dan ketika tiba.
Memproses permintaan Anda serentak mirip dengan memuat ulang halaman, tetapi hanya informasi yang diminta yang diunduh alih-alih seluruh halaman. Oleh karena itu, menggunakan AJAX secara serempak lebih cepat daripada tidak menggunakannya sama sekali - tetapi masih mengharuskan pengunjung Anda untuk menunggu unduhan terjadi sebelum interaksi lebih lanjut dengan halaman dapat dilanjutkan. Orang-orang tahu bahwa kadang-kadang mereka perlu menunggu halaman dimuat, tetapi kebanyakan orang tidak terbiasa dengan penundaan yang signifikan setelah mereka berada di sebuah situs.
Memproses permintaan Anda tidak sinkron menghindari keterlambatan saat pengambilan dari server terjadi karena pengunjung Anda dapat terus berinteraksi dengan halaman web; informasi yang diminta akan diproses di latar belakang dan responsnya akan memperbarui halaman saat dan ketika itu tiba. Lebih lanjut, bahkan jika suatu respons tertunda - misalnya, dalam kasus data yang sangat besar - pengunjung situs mungkin tidak menyadarinya karena mereka ditempati di tempat lain pada halaman.
Oleh karena itu, cara yang disukai untuk menggunakan AJAX adalah menggunakan panggilan asinkronik sedapat mungkin. Ini adalah pengaturan default di AJAX.
Mengapa Menggunakan AJAX Sinkron?
Jika panggilan tidak sinkron memberikan pengalaman pengguna yang lebih baik, mengapa AJAX menawarkan cara untuk membuat panggilan sinkron sama sekali?
Sementara panggilan tidak sinkron adalah pilihan terbaik sebagian besar waktu, ada beberapa situasi yang jarang terjadi masuk akal untuk memungkinkan pengunjung Anda untuk terus berinteraksi dengan halaman web sampai proses sisi server tertentu selesai.
Dalam banyak kasus ini, mungkin lebih baik tidak menggunakan AJAX sama sekali dan sebaliknya hanya memuat ulang seluruh halaman. Opsi sinkron di AJAX ada untuk sejumlah kecil situasi di mana Anda tidak dapat menggunakan panggilan tidak sinkron tetapi memuat ulang seluruh halaman tidak perlu. Misalnya, Anda mungkin perlu menangani beberapa pemrosesan transaksi yang urutannya penting. Pertimbangkan kasus di mana halaman web perlu mengembalikan halaman konfirmasi setelah pengguna mengklik sesuatu. Tugas ini membutuhkan sinkronisasi permintaan.