Использование Laravel 7 jQuery v3.4.1
Я пытаюсь отправить содержимое формы через Ajax на контроллер Laravel. Форма содержит текстовое поле и поле файла. Я хотел найти способ отправить оба типа полей в одном запросе.
Похоже, что контент отправляется, но Laravel не может его прочитать и возвращает ошибку.
My Ajax Код
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
var form = $('form')[0];
var formData = new FormData(form);
$.ajax({
url: form.attr('action'),
data: formData,
cache: false,
method:'POST',
contentType: false,
processData: false,
success: function (data) {
console.log(data);
},
error: function (error,jqXHR, textStatus, errorThrown) {
console.log(data.error);
}
});
Форма
<form id="newProduct" action="{{route('Product.store',app()->getLocale())}}" method="POST" enctype="multipart/form-data">
@csrf
<input name="title" maxlength="10" length="10" placeholder="Product Title" type="text" id="title" class="form-control>
<input type="file" name="files" id="files" class="files">
</form>
Функция Laravel
public function store(Request $request)
{
dd($request->input->all());
}
Данные отправляются через ajax, но каким-то образом Laravel не может получить доступ ко всему. Я получаю следующее сообщение об ошибке от Laravel Вызов функции-члена all () на null с кодом возврата 500 Http.
Это отрывок из HTTP-запроса, отправленного на Larval через ajax
----------------------------- 23552347725043592001228805073 Content-Disposition: form-data ; name = "title" sdf
Что нужно изменить, чтобы Laravel мог читать данные? Заранее спасибо.