Formdaki dataları file ile birlikte alabilmek için, aşağıdaki şekilde kullanıyorum. Serialize dosyaları serialize etmiyor. Aşağıdaki kullanımla post edeceğim datayı dosyalarla birlikte sorunsuz alıyorum. Eklemek istediklerimi ekliyorum sonra.
var formData = new FormData(" *** form selectorunuz *** ").find('form')[0]);
formData.append('_token', hToken());
$('.summernote', CrudModal).each(function(){
formData.append($(this).attr('data-name'), $(this).summernote("code"));
});
Sonrasında ajax isteğinize aşağıdaki parametreyi eklemelisiniz;
enctype: 'multipart/form-data',
Kendi js kütüphanem içerisinde, dosya işlemleri için, uzun süredir sorunsuzca kullandığım fonksiyon aşağıdadır, kendinize göre düzenlersiniz.
hModalAjaxWithFile = function(type, url, selector){
var CrudModal = hCrudModal(selector);
$(".modal-cover", CrudModal).fadeIn(500);
var formData = new FormData($(hCrudModal(selector)).find('form')[0]);
formData.append('_token', hToken());
$('.summernote', CrudModal).each(function(){
formData.append($(this).attr('data-name'), $(this).summernote("code"));
});
$.ajax({
type: type,
url: url,
data: formData,
processData: false,
contentType: false,
dataType: "json",
enctype: 'multipart/form-data',
cache: false,
complete: function(data, durum) {
if(durum == "success") {
hCloseModal(CrudModal);
hReloadTable(selector);
HNoteSuccess("Successfully completed.");
} else {
console.log(data);
try {
HNoteErrorJson(data.responseJSON);
}
catch(err) {
HNoteError("Sorry, something went wrong!");
}
}
$(".modal-cover").fadeOut(500);
}
});
},