Menyiarkan Kedua-dua Fail dan Data Rentetan dengan FormData() dan jQuery AJAX
Ia selalunya perlu untuk menghantar kedua-dua fail dan data rentetan input melalui Permintaan AJAX. Untuk mencapainya menggunakan FormData(), ikuti langkah berikut:
Buat Objek FormData:
<code class="js">var fd = new FormData();</code>
Tambah Data Fail:
a. Untuk satu fail:
<code class="js">fd.append("file", file_data);</code>
b. Untuk berbilang fail:
<code class="js">var file_data = $('input[type="file"]')[0].files; // for multiple files for(var i = 0;i<file_data.length;i++){ fd.append("file_"+i, file_data[i]); }</code>
Tambah Data Rentetan:
<code class="js">var other_data = $('form').serializeArray(); $.each(other_data,function(key,input){ fd.append(input.name,input.value); });</code>
Hantar Data dengan AJAX:
<code class="js">$.ajax({ url: 'url', data: fd, contentType: false, processData: false, type: 'POST', success: function(data){ alert(data); } });</code>
Dengan mengikut langkah ini, anda boleh menghantar kedua-dua fail dan data rentetan input dalam objek FormData dan permintaan AJAX yang sama.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Kedua-dua Fail dan Data Rentetan dengan FormData() dan jQuery AJAX?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!