自动完成Ajax-laravel
您好,我需要做自动完成一些城市,我已经在我的数据库 所以我的代码是这样的: 看法 路线自动完成Ajax-laravel,laravel,jquery-ui-autocomplete,Laravel,Jquery Ui Autocomplete,您好,我需要做自动完成一些城市,我已经在我的数据库 所以我的代码是这样的: 看法 路线 它没有告诉我有错误,也没有显示任何完成情况。使用laravel调试json请求有点困难,我建议您下载此软件包 或者在storage/logs/laravel.log中手动打开laravel日志,看看发生了什么多亏了Stack和Eddystedove,我发现错误在于aucomplete不是一个函数,所以我必须删除barkets和$函数,所以在脚本标记中类似于此 <script type="text/jav
它没有告诉我有错误,也没有显示任何完成情况。使用laravel调试json请求有点困难,我建议您下载此软件包
或者在storage/logs/laravel.log中手动打开laravel日志,看看发生了什么多亏了Stack和Eddystedove,我发现错误在于aucomplete不是一个函数,所以我必须删除barkets和$函数,所以在脚本标记中类似于此
<script type="text/javascript">
$( "#ville" ).autocomplete({
source:'{!!URL::route('autocomplete')!!}',
minlength:1,
autoFocus:true,
select:function(e,ui)
{
$('#ville').val(ui.item.value);
}
});
</script>
可能是因为$request->term总是空的。“term”从何而来?请求对象只有一个属性,它是函数的termFirst行,执行dd$request->term,查看它是否包含您输入的字符串。我应该在哪里看到它?在日志中?确定返回$request->term并检查您的控制台网络部件以查看它是否返回任何响应。在铬合金表面点击droit->inspect,查看网络。
class VilleController extends Controller
{
public function autocomplete(Request $request)
{
$term = $request->term;
$queries = DB::table('ville')
->where('libelle_ville', 'like', '%'.$term.'%')
->take(6)->get();
foreach ($queries as $query)
{
$results[] = ['id' => $query->id, 'value' => $query->libelle_ville]; //you can take custom values as you want
}
return response()->json($results);
}
}
Route::get('/autocomplete', array('as' => 'autocomplete', 'uses'=>'VilleController@autocomplete'));
<script type="text/javascript">
$( "#ville" ).autocomplete({
source:'{!!URL::route('autocomplete')!!}',
minlength:1,
autoFocus:true,
select:function(e,ui)
{
$('#ville').val(ui.item.value);
}
});
</script>