我正在尝试在我的laravel应用程序中进行自动完成搜索。但是当我搜索关键字时,我遇到了错误。我在控制台中看到时出现以下错误:
http://localhost/autocomplete?term=a 404 (Not Found)
以下是我使用的路线:
Route::get('/autocomplete',[
'uses'=>'UserController@autocomplete',
'as'=>'autocomplete'
]);
这是控制器:
public function autocomplete(Request $request)
{
$results=array();
$item = $request->input(['searchname']);
$data=User::where('name','LIKE','%' .$item.'%')
->take(5)
->get();
foreach ($data as $data) {
$results[]=['id'=>$data->id,'value'=>$data->name];
}
return response()->json($results);
}
这是包含javascript代码的视图页面:
<div class="ui-widget">
<input type="text" name="searchname" id="searchname" placeholder="Search" class="form-control">
</div>
<script>
jQuery(document).ready(function($) {
$('#searchname').autocomplete({
source: "/autocomplete" ,
minlength:1,
autofocus:true,
select:function(event,ui){
$("searchname").val(ui.item.value);
}
});
});
</script>
如果有人发现错误,请尝试提供解决方案。谢谢!
答案 0 :(得分:1)
这里有一个错字
public function autocomplte(Request $request)
应该是
public function autocomplete(Request $request)
答案 1 :(得分:0)
您的JQueryui脚本是在JQuery库之后加载的吗?