我需要我的項目有一個表格檢索算法,那我就用這個代碼,但是當我執行控制檯說POST http://localhost:8000/buscar 500 (Internal Server Error)
那麼這裏是我的看法搜索與阿賈克斯laravel
<div id="qnimate" class="off">
<div id="search" class="open">
<button data-widget="remove" id="removeClass" class="closeSearch" type="button">×</button>
<input type="text" placeholder="Buscar Noticias - Articulos - Reviews" id="buscar" onkeydown="keydownFunction()" onkeyup="keyupFunction()">
<button class="btn btn-lg btn-site" type="submit"><span class="glyphicon glyphicon-search"></span> Buscar</button>
<div id="resultadoBusqueda" class="col-md-12"></div>
</div>
</div>
這裏是我的控制器
public function buscar()
{
$keywords = Input::get('keywords');
$reviews = Reviews::where('estado','1')->take();
$buscarReviews = new \Illuminate\Database\Eloquent\Collection();
foreach ($reviews as $review) {
if(Str::contains(Str::lover($review->nombre), Str::lover($keywords)))
$buscarReviews->add($review);
}
return view::make('busqueda')->with('buscarReviews', $buscarReviews);
}
這裏是視圖至極顯示的信息
@foreach($buscarReviews as $review)
<div id="reviews" class="col-md-12">
<a href="/review/{{$review->slug}}" class="link"></a>
<div class="col-md-4">
<img src="Imagenes/{{$review->logo}}" width="50">
</div>
<div class="col-md-8">
<h2>{{$review->nombre}}</h2>
<div>{!! str_limit($review->descripcion, $limit = 150, $end = '...') !!}</div>
</div>
</div>
@endforeach
這裏我的js
var timer;
function keydownFunction(){
timer = setTimeout(function(){
var keywords = $('#buscar').val();
if(keywords.length > 0){
$.post('/buscar', {keywords: keywords}, function(markup){
$('#resultadoBusqueda').html(markup);
});
}
}, 500);
}
function keyupFunction(){
clearTimeout(timer);
}
我不知道是什麼原因不打印查詢的信息。 謝謝。
當你得到500狀態碼,你可以看到在日誌文件中詳細的錯誤輸出(在存儲文件夾)。您也可以將APP_DEBUG設置爲true以查看瀏覽器中的錯誤 –
錯誤來自您的控制器。確保你在你的控制器中包含了'Input','Reviews'和'Str'。您也可以檢查瀏覽器控制檯以查看實際錯誤。 – EddyTheDove
我檢查控制檯,我發現說這個'jquery-1.12.4.js:10254',我檢查並說'xhr.send((options.hasContent && options.data)|| null);' – sittelle