Tugas 6: JavaScript dan AJAX
Pemrograman Berbasis Platform (CSGE602022) — diselenggarakan oleh Fakultas Ilmu Komputer Universitas Indonesia, Semester Ganjil 2024/2025
Deskripsi Tugas
Pada tugas ini, kamu akan mengimplementasikan AJAX pada aplikasi yang telah kamu buat pada tugas sebelumnya.
Checklist untuk tugas ini adalah sebagai berikut:
-
Mengubah tugas 5 yang telah dibuat sebelumnya menjadi menggunakan AJAX.
- AJAX
GET
- Ubahlah kode
cards
data mood agar dapat mendukung AJAXGET
. - Lakukan pengambilan data mood menggunakan AJAX
GET
. Pastikan bahwa data yang diambil hanyalah data milik pengguna yang logged-in.
- Ubahlah kode
- AJAX
POST
- Buatlah sebuah tombol yang membuka sebuah modal dengan form untuk menambahkan mood.
catatan
Modal di-trigger dengan menekan suatu tombol pada halaman utama. Saat penambahan mood berhasil, modal harus ditutup dan input form harus dibersihkan dari data yang sudah dimasukkan ke dalam form sebelumnya. Jika penambahan gagal, tampilkan pesan error.
- Buatlah fungsi view baru untuk menambahkan mood baru ke dalam basis data.
- Buatlah path
/create-ajax/
yang mengarah ke fungsi view yang baru kamu buat. - Hubungkan form yang telah kamu buat di dalam modal kamu ke path
/create-ajax/
. - Lakukan refresh pada halaman utama secara asinkronus untuk menampilkan daftar mood terbaru tanpa reload halaman utama secara keseluruhan.
- Buatlah sebuah tombol yang membuka sebuah modal dengan form untuk menambahkan mood.
peringatanPastikan AJAX
GET
danPOST
dapat dilakukan secara aman. - AJAX
-
Menjawab beberapa pertanyaan berikut pada
README.md
pada root folder (silakan modifikasiREADME.md
yang telah kamu buat sebelumnya; tambahkan subjudul untuk setiap tugas).- Jelaskan manfaat dari penggunaan JavaScript dalam pengembangan aplikasi web!
- Jelaskan fungsi dari penggunaan
await
ketika kita menggunakanfetch()
! Apa yang akan terjadi jika kita tidak menggunakanawait
? - Mengapa kita perlu menggunakan decorator
csrf_exempt
pada view yang akan digunakan untuk AJAXPOST
? - Pada tutorial PBP minggu ini, pembersihan data input pengguna dilakukan di belakang (backend) juga. Mengapa hal tersebut tidak dilakukan di frontend saja?
- Jelaskan bagaimana cara kamu mengimplementasikan checklist di atas secara step-by-step (bukan hanya sekadar mengikuti tutorial)!
-
Melakukan
add
-commit
-push
ke GitHub.
Tenggat Waktu Pengerjaan
Tenggat waktu pengerjaan Tugas 6 adalah Rabu, 9 Oktober 2024, pukul 12.00 siang.
Asisten dosen akan mengecek last commit dari repositori tugas lab, sehingga kamu tidak perlu mengumpulkan tautan repositori ke dalam slot submisi.