post data dengan ajax tidak terkirim menggunakan sweet alert

saya sedang membuat form aplikasi untuk surat, dan setelah klik button akan memanggil form dengan modal bootstrap, dan ada tombol submit data yang menggunakan sweet alert, sweet alert berjalan tapi data tidak terkirim alias blank. mohon bantuannya untuk solve case ini, sudah cari di stackoverflow tapi pas di coba masih gagal.
var nk = $('#nk'); //ini id untuk field nama
$( "#target" ).click(function() {
	swal({
		title: "Submit Surat Persetujuan ?",
		text: "pastikan sudah mengisi semua kolom yang dibutuhkan",
		icon: "info",
		buttons: true,
		dangerMode: true,
	}).then(function()
		{
			$.ajax({
				url: "databank.php",
				type: "POST",
				data: {"nk":nk},
				cache: false,
				success: function(data)
				{
					swal("Data Terkirim",
					{
						icon: "success",
					});
				},
				failure: function(data)
				{
					swal("Data gagal terkirim",
					{
						icon: "error",
					});
				}
			});
		});
	});
dan satu masalah lagi, setelah di klik submit swal muncul, tapi form ga tertutup cuman swalnya aja yang fade out, formnya engga. apa ada yang salah ya ? mohon bantuannya.
avatar andrydupti

@andrydupti

6 Kontribusi 1 Poin


Jawaban

Seperti nya kamu ada kesalahan disini : 
$.ajax({
      url: "databank.php",
      type: "POST",
      data: {"nk":nk},
      cache: false,

Dari saya belajar dulu ajax, 
data: {"nk":nk},
itu tidak pakai :
 ""
Jadi seharusnya kamu pakai ini :
$.ajax({
      url: "databank.php",
      type: "POST",
      data: {nk : nk},
      cache: false,
Jadi seperti itu, ouh ya jangan lupa load jquery ajax nya. bisa dari google / dll....

Dan jangan lupa kalau di file databank.php untuk nk itu seperti ini :
$_POST['nk'];
Semoga Berhasil!

Kalau belum berhasil bisa lihat video ini : https://youtu.be/Uesavd9RX_E

Atau kelas sekolah koding ini : 
https://sekolahkoding.com/kelas/crud-dengan-ajax
avatar X451

@X451

40 Kontribusi 30 Poin


Gunakan val atau value untuk mengambil nilai yang berasal dari form input.
Baris ini : 
var nk = $('#nk');
coba diubah menjadi :

var nk = $('#nk').val(); //Pakai fungsi dari jQuery
atau
var nk = document.getElementById("nk").value; //Pakai javascript murni

Semoga berhasil.
avatar ahanafi

@ahanafi

652 Kontribusi 397 Poin


Login untuk gabung berdiskusi