【发布时间】:2017-06-12 11:21:43
【问题描述】:
我希望用户能够在任何页面上搜索和显示结果。
搜索框在导航栏中是这样的:
<form action="/search" method="get" autocomplete="off" class="navbar-form navbar-left">
<div class="form-group">
<input type="text" class="form-control" id="search_text" onkeyup="search_data(this.value, 'result'); placeholder="Search"></div>
<div id="result">
@include('results')
</div>
</div>
</form>
JQuery/AJAX:
function search_data(search_value) {
$.ajax({
url: '/searching/' + search_value,
method: 'GET'
}).done(function(response){
$('#results').html(response); // put the returning html in the 'results' div
});
}
控制器:
public function search() {
$search_text = $_GET['text'];
if ($search_text==NULL) {
$data= Business::all();
} else {
$data=Business::where('name','LIKE', '%'.$search_text.'%')->get();
}
return view('results')->with('results',$data);
}
路线:
Route::post('/searching', 'SearchController@search');
Results.blade.php
<table style="width:100%">
<tr>
<th>Name</th>
<th>Logo</th>
</tr>
@foreach( $results as $business )
<tr>
<td>{{ $business->logo }}</td>
<td>{{ $business->name}}</td>
</tr>
@endforeach
</table>
这是我到目前为止所得到的,我收到了这个错误:
未定义变量:结果
(查看:C:\xampp\htdocs\laravel\resources\views\results.blade.php)
(查看:C:\xampp\htdocs\laravel\resources\views\results.blade.php)
(查看:C:\xampp\htdocs\laravel\resources\views\results.blade.php)
谁能帮助一个可怜的灵魂?
【问题讨论】:
标签: jquery ajax laravel laravel-5 laravel-5.4