Saya menggunakan jQuery dan Ajax untuk menyerahkan data dan fail, tetapi saya tidak pasti cara menghantar kedua-dua data dan fail dalam satu bentuk?
Saya pada masa ini menggunakan kedua-dua kaedah dengan cara yang hampir sama, tetapi cara mengumpul data ke dalam tatasusunan adalah berbeza, data menggunakan .serialize();
dan fail menggunakan ;= new FormData($(this)[0]);
Adakah mungkin untuk menggabungkan kedua-dua kaedah ini untuk memuat naik fail dan data dalam satu bentuk melalui Ajax?
Data jQuery, Ajax dan html
$("form#data").submit(function(){ var formData = $(this).serialize(); $.ajax({ url: window.location.pathname, jenis: 'POST', data: formData, async: palsu, kejayaan: fungsi (data) { makluman(data) }, cache: palsu, Jenis kandungan: palsu, processData: palsu }); kembali palsu; });
JQuery Dokumentasi, Ajax dan html
$("form#files").submit(function(){ var formData = new FormData($(this)[0]); $.ajax({ url: window.location.pathname, jenis: 'POST', data: formData, async: palsu, kejayaan: fungsi (data) { makluman(data) }, cache: palsu, Jenis kandungan: palsu, processData: palsu }); kembali palsu; });
Bagaimanakah saya boleh menggabungkan perkara di atas supaya saya boleh menghantar data dan fail dalam satu bentuk melalui Ajax?
Matlamat saya adalah untuk dapat menghantar semua borang ini bersama-sama melalui Ajax, adakah ini mungkin?
Pilihan lain ialah menggunakan iframe dan tetapkan sasaran borang padanya.
Anda boleh mencuba ini (ia menggunakan jQuery):
Ia berfungsi dalam semua penyemak imbas dan anda tidak perlu membuat siri atau menyediakan data. Satu kelemahan ialah anda tidak boleh memantau kemajuan.
Selain itu, sekurang-kurangnya untuk Chrome, permintaan itu tidak muncul di bawah tab "xhr" dalam alat pembangun, tetapi di bawah "doc".
Masalah yang saya hadapi ialah menggunakan pengecam jQuery yang salah.
Anda boleh menggunakan borangmenggunakan ajaxuntuk memuat naik data dan fail.
PHP + HTML
jQuery + Ajax
Versi ringkas