Penyerahan Borang Jquery/Ajax (enctype="multipart/form-data"): Mengapa 'contentType:False' Menyebabkan Indeks Tidak Ditakrifkan dalam PHP
Masalah:
Apabila menggunakan Jquery/ajax untuk menyerahkan borang dengan "enctype='multipart/form-data'" (untuk muat naik fail), tetapkan punca "contentType:False" ralat "Indeks tidak ditentukan" dalam PHP.
Jawapan:
Mengapa "contentType:False" Diperlukan untuk Penyerahan "multipart/form-data"
"contentType:False" menghalang jQuery daripada menambah pengepala "Content-Type" pada permintaan. Dalam penyerahan "multipart/form-data", pengepala "Content-Type" termasuk rentetan sempadan, yang penting untuk pengekodan berbilang bahagian.
Selain itu, "processData:False" juga mesti ditetapkan kepada false untuk mengelakkan jQuery daripada menukar objek "FormData" kepada rentetan, yang akan mengganggu pengekodan berbilang bahagian.
Penyelesaian masalah:
Untuk menyelesaikan isu ini, pertimbangkan langkah berikut:
<code class="javascript">var formData = new FormData($(this)[0]);</code>
Nota Tambahan:
Atas ialah kandungan terperinci Mengapakah \'contentType:False\' Menyebabkan Ralat \'Indeks Tidak Ditakrifkan\' dalam PHP Apabila Menghantar Borang Multipart/form-data dengan jQuery AJAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!