在 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
检索它
这是浏览代码
{!! 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
检索它