Ajax by FormData for upload file

 วันนี้ผมได้ทำการใช้งาน ajax สำหรับ upload file ปรากฎว่า การใช้งาน 

.serialize()

Encode a set of form elements as a string for submission.


ไม่สามารถได้รับข้อมูล File ที่เราอัพโหลดมาใน controller ได้ 


สุดท้ายผมก็ได้วิธีแก้ปัญหาดังนี้


function upLoadFileAjax() {
showLoading();
var url = '/api/reconciles/upload-file';
var form = $('#frm_upload_file')[0];
var data = new FormData(form);
$.ajax({
type: 'POST',
data: data,
url: url,
enctype: 'multipart/form-data',
processData: false, // Important!
contentType: false,
cache: false,
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content'),
'Accept': 'application/json',
},




ขอบคุณ cr. https://mkyong.com/jquery/jquery-ajax-submit-a-multipart-form/