我可以使用enctype='multipart/form-data'POST非文件输入


laravel : can't I use enctype='multipart/form-data' to POST non file inputs?

由于某种原因,如果我使用POST而不是GET在我的。ajax调用它不到达控制器。

从我读的multipar/form-data也可以发送非文件输入,因此这应该工作。
我尝试了很多不同的方法,但都不起作用,现在我像狗狗第一次看到镜子一样好奇!

下面是代码

这是我的表单,我已经简化到最基本的部分:

<form id="forward-post" enctype="multipart/form-data" action="">
    <input type="hidden" value="{{$post->id}}" name="val[postid]" />
    <button class="post-forward-button" class="btn btn-sm btn-success" id="post-submit-button"><i class="icon ion-compose"></i> Forward</button>
</form>

Javascript函数被调用:

$(document).on('submit', '#forward-person', function (e)
    {
        e.preventDefault(); // To prevent page refresh after ajax call
        $.ajax({
            url : baseUrl + 'post/forward',
            type : 'POST',
            data : new FormData(this),
            contentType : false,
            cache : false,
            processData : false,
            success : function(data) {
                console.log('Success function of the ajax call');
            }
        });
    });
控制器

public function forward(){日志:信息(内部前进());如果('输入::(val)){日志:信息("Val发现");}返回0;}

路由和一切都适用于GET,但我在这里再次发布,为了完成:

Route::get('forward', [
        'uses' => 'App'Controllers'PostController@forward'
        ]);

我还注意到,当我做一个GET,控制器没有找到'val'的输入。
知道我哪里做错了吗?

因为它是ajax post请求,你的路由必须是

Route::post('forward', [
   'uses' => 'App'Controllers'PostController@forward'
]);