Jquery ajax没有使用Laravel使用typeahead执行请求
我在这里问这个问题是因为我已经花了好几个小时研究这个问题,我在其他地方也问过这个问题,但似乎没有人知道答案 我正在尝试使用Jquery ajax没有使用Laravel使用typeahead执行请求,jquery,ajax,laravel-5,Jquery,Ajax,Laravel 5,我在这里问这个问题是因为我已经花了好几个小时研究这个问题,我在其他地方也问过这个问题,但似乎没有人知道答案 我正在尝试使用Ajax请求自动完成表单 路线 Route::get('autocomplete', array('as'=>'autocomplete','uses' => 'SearchController@autoComplete')); SearchController public function autoComplete(Request $request){
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)
引导式Typeahead自动完成搜索文本框示例
{!!Form::text('search_text',null,array('placeholder'=>'search text','class'=>'Form control','id'=>'search_text'))
var url=“{route('autocomplete')}}”;
$(“#搜索_文本”)。请提前键入({
来源:功能(查询、流程){
返回$.get(url,{query:query},函数(数据){
返回过程(数据);
});
}
});
如果我访问autocomplete
,它会提供完整的数组。如果我传递参数autocomplete?query=ad
,它将给出所需的结果
在
Welcome页面
中,在网络选项卡
下没有显示任何活动,也没有错误。这就是我来这里的原因。我不知道如何调试它。您在url中得到了正确的值吗?不知道高级代码。你在哪里插入这个脚本?。您需要用$(document)包装脚本内容。readyIt现在给我带来了一个错误(我不知道是什么导致了这个错误):uncaughttypeerror:$(…)。typeahead不是一个函数
。将查找它。它将转到正确的url。脚本正在插入的正外部。
。无论我插入哪个库,它都会给我一个错误typehead不是一个函数
。您是否尝试用$(document).ready()包装脚本。我累了,重新做了整件事,现在开始工作了。我不知道哪里出了差错。如果有人犯了同样的错误,我建议遵循本教程:
<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>