laravel 5:自动完成搜索

时间:2016-06-24 13:52:23

标签: javascript php jquery laravel

我正在尝试在我的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>

如果有人发现错误,请尝试提供解决方案。谢谢!

2 个答案:

答案 0 :(得分:1)

这里有一个错字

public function autocomplte(Request $request)

应该是

public function autocomplete(Request $request)

答案 1 :(得分:0)

您的JQueryui脚本是在JQuery库之后加载的吗?