У меня есть форма с 2 полями, которые я хочу обновить. Для этого я использую axios и ресурсный маршрут laravel.
Форма:
<form action="#" method="post" role="form" class='forms' id="frmEditSurface" enctype="multipart/form-data">
<div class="form-group">
<label for="surface">Surface</label>
<input type="text" class='form-control' id='surface' name="surface" autocomplete="off"
required="" placeholder="Ej: Arcilla, Cemento..."/>
<span class="error-surface"></span>
</div>
<div class="form-group">
<label for="image">Image</label>
<input type="file" id='image' name="image" class="form-control">
</div>
@include('partials.form-buttons.edit')
</form>
JS:
$("#frmEditSurface").submit(function (e) {
e.preventDefault();
axios.put(`/FinDraT/surface/${surface.id}`, new FormData($("#frmEditSurface")[0]))
.then(function (response) {
oastr.success(response.data);
#surface").removeClass("border border-danger");
})
.catch(error => {
$("#frmEditSurace #surface").addClass("border border-danger");
});
});
Вот моя проблема. Для отправки данных формы я использую:
новые FormData ($ ("# frmEditSurface") [0]
но если метод
axios.put (... new FormData ($ ("# frmEditSurface") [0]).
это ничего не отправляет. Когда я делаю $ r-> all (), я получаю ноль, но вижу chrome (сеть), данные были отправлены
Данные формы:
_token: ...
поверхность: asd
изображение: двоичное
, но если метгод является
axios.post (новые FormData ($ ("# frmEditSurface") [0] ..)
это хорошо отправляет и я получаю в контроллере.
В сети маршрутов у меня есть
Route :: ресурс ( 'поверхность', 'SurfaceController');
Я хочу использовать метод put или знаю, почему при этом отправляются данные, но я получаю ноль в контроллере