Rumah >hujung hadapan web >tutorial js >Bagaimana Menggunakan FormData dengan Betul untuk Muat Naik Fail AJAX dengan jQuery?

Bagaimana Menggunakan FormData dengan Betul untuk Muat Naik Fail AJAX dengan jQuery?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-15 17:42:14632semak imbas

How to Correctly Use FormData for AJAX File Uploads with jQuery?

Menggunakan FormData untuk Muat Naik Fail AJAX

Dalam senario ini, anda cuba melaksanakan muat naik fail AJAX menggunakan drag-and-drop bentuk HTML yang dihasilkan. Walau bagaimanapun, pelaksanaan JavaScript semasa anda memerlukan pelarasan untuk menggunakan objek FormData dengan betul untuk muat naik fail.

Persediaan

Pertama sekali, cipta objek FormData:

var form = $('form')[0]; // For the entire form
var formData = new FormData(form);

Sebagai alternatif, anda boleh menentukan data khusus untuk sertakan:

var formData = new FormData();
formData.append('section', 'general');
formData.append('action', 'previewImg');
formData.append('image', $('input[type=file]')[0].files[0]);

Menghantar Borang

Seterusnya, kemas kini permintaan jQuery AJAX anda untuk memasukkan tetapan berikut:

$.ajax({
    url: 'Your url here',
    data: formData,
    **type: 'POST', // Use POST requests for file upload**
    contentType: false, // Important for file upload
    processData: false, // Important for file upload
    // ... Other options like success and etc
});

Tetapan ini pastikan data borang dihantar dengan betul sebagai permintaan berbilang bahagian/data borang, yang penting untuk fail muat naik.

Nota Tambahan:

  • contentType: false hanya tersedia dalam jQuery 1.6 dan seterusnya.
  • Jenis: tetapan 'POST' adalah penting kerana muat naik fail memerlukan permintaan POST.

Atas ialah kandungan terperinci Bagaimana Menggunakan FormData dengan Betul untuk Muat Naik Fail AJAX dengan jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn