我在这里问这个问题,因为我已经花了好几个小时才解决这个问题而且我在其他地方问了这个问题,但似乎没有人知道答案。
我正在尝试使用Ajax
发出自动填写表单的请求。
路线
Route::get('autocomplete', array('as'=>'autocomplete','uses' => 'SearchController@autoComplete'));
SearchController
public function autoComplete(Request $request){
$data = Profissao::select("profissao", "id")->where("profissao","LIKE","%{$request->input('query')}%")->get();
return response()->json($data);
}
html(welcome.blade.php)
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-3-typeahead/4.0.1/bootstrap3-typeahead.min.js"></script>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-md-offset-3">
<div class="panel panel-primary">
<div class="panel-heading">Example of Bootstrap Typeahead Autocomplete Search Textbox</div>
<div class="panel-body">
<div class="form-group">
{!! Form::text('search_text', null, array('placeholder' => 'Search Text','class' => 'form-control','id'=>'search_text')) !!}
</div>
</div>
</div>
</div>
<script type="text/javascript">
var url = "{{ route('autocomplete') }}";
$('#search_text').typeahead({
source: function (query, process) {
return $.get(url, { query: query }, function (data) {
return process(data);
});
}
});
</script>
如果我访问autocomplete
,它会给我完整的数组。如果我传递参数autocomplete?query=ad
,它会给我所需的结果。
在welcomepage
,它显示network tab
下没有任何活动且没有错误。这就是我在这里的原因。我不知道如何调试它。