Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Berjaya Menghantar Borang dengan Input Fail Menggunakan jQuery AJAX?

Bagaimana untuk Berjaya Menghantar Borang dengan Input Fail Menggunakan jQuery AJAX?

Linda Hamilton
Linda Hamiltonasal
2024-12-21 03:41:11212semak imbas

How to Successfully Submit Forms with File Inputs Using jQuery AJAX?

Cara Mengendalikan Muat Naik Fail dengan Pensirilan jQuery

Apabila bekerja dengan borang yang mengandungi medan input fail, menggunakan fungsi bersiri jQuery untuk penyerahan AJAX boleh menimbulkan cabaran. Kaedah bersiri tradisional tidak mengendalikan input fail dengan berkesan, menyebabkan data $_FILES kosong.

Penyelesaian: Objek FormData

Untuk mengatasi had ini, gunakan objek FormData. FormData membolehkan anda menangkap dan mensiri semua data borang, termasuk input fail. Dengan menggunakan FormData, anda boleh menghantar fail ke permintaan AJAX anda dengan lancar.

Contoh Kod:

$(document).on("submit", "form", function(event) {
    event.preventDefault();
    $.ajax({
        url: $(this).attr("action"),
        type: $(this).attr("method"),
        dataType: "JSON",
        data: new FormData(this),
        processData: false,
        contentType: false,
        success: function (data, status) {

        },
        error: function (xhr, desc, err) {

        }
    });        

});

Dalam contoh ini, kami mencipta objek FormData daripada borang dan tetapkan pilihan processData dan contentType kepada palsu. Pilihan ini menghalang jQuery daripada menukar data secara automatik dan menetapkan jenis kandungan, yang membolehkan FormData mengendalikan proses muat naik fail.

Atas ialah kandungan terperinci Bagaimana untuk Berjaya Menghantar Borang dengan Input Fail Menggunakan jQuery AJAX?. 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