laravel搜索输入获取而不是发布

时间:2018-02-18 14:24:35

标签: php blade laravel-5.5

刀片:

<form id="search_field" style="margin: 0; display: none" class="submit_form item" method="post" action="{{route('search')}}">
    <div class="ui icon input">
        <input style="padding-top: 5px;padding-bottom: 5px" name="search" type="text" placeholder="Search...">
        <i class="form search link icon"></i>
    </div>
</form>

JS:

$('#search').click(function () {
    $('#search').hide();
    $("#search_field").animate({
        width: 'toggle'
    });
})

$('.form').click(function () {

    $('.submit_form').submit();
})

Laravel:

Route::post('search', 'SearchController@search')->name('search');

所以,如果我按下图标,它会越过邮政路线。 但是,如果我在输入中写了一些东西并按下输入它会越过获取路径。

我该怎么做才能在后期路线上各方面进行?

2 个答案:

答案 0 :(得分:0)

也许在您的routes / web.php文件中有一个get路由与该操作相同的URL?这些路线是按照从上到下的顺序执行的,因此您必须将后路线放在获取路线之前。 喜欢这个

Route::post('/search', 'yourcontroller@store');
Route::get('/search', 'yourcontroller@index');

OR 确保在表单标记

中大写POST方法
<form id="search_field" style="margin: 0; display: none" class="submit_form item" method="POST" action="{{route('search')}}">

答案 1 :(得分:0)

解决:

我必须在我的表单中实现{{ csrf_field() }}

<form id="search_field" style="margin: 0; display: none" class="submit_form item" method="post" action="{{route('search')}}">
{{ csrf_field() }}
<div class="ui icon input">
    <input style="padding-top: 5px;padding-bottom: 5px" name="search" type="text" placeholder="Search...">
    <i class="form search link icon"></i>
</div>