我有一个要更新的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()时,会收到null,但是看到chrome(网络)时,数据已发送
表格数据:
_token:... 表面:asd 图片:二进制
,但如果方法是
axios.post(新的FormData($(“#frmEditSurface”)[0] ..)
这发送得很好,我收到了控制器。
我在路线网中
Route :: resource('surface','SurfaceController');
我想使用put方法,或者我知道为什么这会发送数据,但是我在控制器中收到null