在 laravel 5.3 中创建 ajax 搜索

create ajax search in laravel 5.3

这是浏览代码

{!! Form::open(['method'=>'GET','url'=>'blog','class'=>'navbar-form navbar-left','role'=>'search']) !!}
        <div class="input-group custom-search-form">
            <input type="text" name="search" class="form-control">
            <span class="input-group-btn">
                <button type="submit" class="btn btn-default-sm">
                    <i class="fa fa-search"></i>
                </button>
            </span>
        </div>
        {!! Form::close() !!}

这是控制器代码

public function index(){
  // // we need to show all data from "blog" table
  // $blogs = Blog::all();
  // // show data to our view
  // return view('blog.index',['blogs' => $blogs]);

  $search = \Request::get('search');
  $blogs = Blog::where('title','like','%'.$search.'%')->orderBy('id')->paginate(6);
  return view('blog.index',['blogs' => $blogs]);
}

如何将此代码升级到 ajax?

您可以使用 laravel 提供的 searchable trait,开箱即用!

您需要做的就是将此行添加到模型中

use Searchable;

在控制器中,你做这样的事情

$orders = Blog::search($search)->orderBy('id')->paginate(6);

和 Ajax 请求.. 你可以使用 jQuery 来做到这一点:

$.get( "/?search="+ $( ".query" ).text(), function( data ) {
    $( ".result" ).html( data );
    alert( "Load was performed." );
});

您需要为 HTML 中的查询文本字段分配 ID,以便您可以使用 jQuery

检索它