Axios放不发送FormData

时间:2019-01-15 10:24:39

标签: laravel axios

我有一个要更新的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

0 个答案:

没有答案