【问题标题】:Invalid route in a Laravel search formLaravel 搜索表单中的路径无效
【发布时间】:2017-11-06 13:13:57
【问题描述】:

您好,我正在学习如何设置搜索表单的教程,但我收到了 route 错误 (NotFoundHttpException)。

表格

   {!! Form::open(['method'=>'GET' ,'url' => 'search', 'class'=>'form-group main-form', 'id'=>'search-form', 'role'=>'form']) !!}
      {{ csrf_field() }}
      <div style="display:none"><input name="utf8" type="hidden" value="✓"></div>
      <input class="form-group main-form" id="q_objname_en_cont" name="searchKey"  placeholder='Search by Job title' required="required" style="height:40px;width:60%" type="search">
      <input class="btn btn-warning" type="submit" value="Search">
   {!! Form::close() !!}

路线

//Search route(get)
Route::get('search/{searchkey}', 'EmploiController@search')->where('searchkey', '[A-Za-z]+')->name('search');

网址(浏览器)

http://localhost:8000/search?_token=LJpgN3AwCFoDElOkFsSOX8BBLU1IFOzMvUYiokQj&utf8=%E2%9C%93&searchKey=quia

【问题讨论】:

    标签: laravel laravel-5 laravel-form


    【解决方案1】:

    改变你的路线到这里。当您将搜索参数作为查询字符串传递时,您不需要 url 的第二部分。

    Route::get('search', 'EmploiController@search')->name('search');
    

    将您的表单更改为此。使用表单 GET 方法时无需发送 csrf 令牌。

    {!! Form::open(['method'=>'GET' ,'url' => 'search', 'class'=>'form-group main-form', 'id'=>'search-form', 'role'=>'form']) !!}
    <input class="form-group main-form" id="q_objname_en_cont" name="searchKey"  placeholder='Search by Job title' required="required" style="height:40px;width:60%" type="search">
    <input class="btn btn-warning" type="submit" value="Search">
    {!! Form::close() !!}
    

    我还删除了不需要的输入 &lt;input name="utf8" type="hidden" value="✓"&gt;。如果需要,请将其添加回来。

    【讨论】:

      【解决方案2】:

      我认为你所遵循的教程一切都错了,没有安全问题,当然,这不是在 Laravel 中实现搜索的正确方法,你在每个请求中都将你的 csrf_token 暴露给世界那条路线。

      我对您的建议是阅读更好的资源并深入研究文档。

      https://laracasts.com/discuss/channels/laravel/search-option-in-laravel-5?page=1

      【讨论】:

        猜你喜欢
        • 2020-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-09
        • 2021-11-04
        相关资源
        最近更新 更多