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/