私はデータベース内のデータを検索するためのウェブページのライブ検索入力をしようとしています。これまでのところ私はこれが出ている:Laravel jQuery AJAXライブ検索
コントローラー:
public function launchsitefilter($site_code, Request $request) {
$launchsites = DB::table('launchsites')->where('site_code', $site_code)->get();
if(! $launchsites){
return abort(404);
}
$launchsitesatellite = DB::table('satellites')->where('site', $site_code)->get();
if ($request->ajax())
{
$output="";
$launchsitesatellite = DB::table('satellites')->where('satname','LIKE','%'.$request->search.'%')
->orWhere('norad_cat_id','LIKE','%'.$request->search.'%');
if ($launchsitesatellite)
{
foreach ($launchsitesatellite as $key => $launchsitesatellites) {
$output ='<tr>'.
'<td>'. $launchsitesatellites->satname .'</td>'.
'<td>'.$launchsitesatellites->norad_cat_id.'</td>'.
'<td>'.$launchsitesatellites->object_type.'</td>'.
'</tr>';
}
}
}
return view('pages/launchsite-filter', compact('launchsites', 'launchsitesatellite'));
}
スクリプト:
$('#search').on('keyup', function() {
$value=$(this).val();
$.ajax({
type : 'get',
url : '{{$launchsitename->site_code}}',
data : {'search':$value},
success:function(data) {
console.log(data);
}
});
});
ブレード:
私は入力に何かを入力すると、私は、コンソールにこのエラーが出ます<input type="text" class="form-control" id="search" name="search"></input>
:
GET http://space-observe.dev/launch-site/JSC?search=search term 500 (Internal Server Error)
私はJavascriptを推測しています、私のコントローラにエラーが発生しながら取り組んでいます。ライブ検索を実行して結果を表示するには、何をする必要がありますか。あなたは次のようにコードを書き換えたい場合
return文の前に 'dd($ launchsites);'を追加します。結果を教えてください –
エラーログを見ることはできますか? –
@SimonSchnell私はデータベースから必要なデータを持つ配列を取得します。 '$ launchsitesatellite'も同じです。 –