я нужен мой проект имеет вид SERACH, то я пытался с этим кодом, но когда я исполняю консоль сказать POST http://localhost:8000/buscar 500 (Internal Server Error)
то вот мой взглядпоиск с помощью AJAX 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
здесь my 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