【发布时间】:2021-12-15 08:19:11
【问题描述】:
您好,我正在学习 Laravel,并尝试使用来自数据库的建议来自动完成搜索。我看到很多人用 JQuery 做这件事,所以这就是我尝试过的。但是当我运行这个网站时,我只收到一封建议信,有时根本没有任何建议。我怀疑我的路由已关闭,所以我尝试在查询功能中 dd 一些信息,但也没有显示出来,
我的刀片
<!DOCTYPE html>
<html>
<head>
<title>Laravel 8 Autocomplete Search using Bootstrap Typeahead JS -ItSolutionStuff.com</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.3/css/bootstrap.min.css" />
<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>
</head>
<body>
<div class="container">
<h1>Laravel 8 Autocomplete Search using Bootstrap Typeahead JS - ItSolutionStuff.com</h1>
<input class="typeahead form-control" type="text">
</div>
<script type="text/javascript">
var path = "{{ route('autocomplete') }}";
$('input.typeahead').typeahead({
source: function (query, process) {
return $.get(path, { query: query }, function (data) {
return process(data);
});
}
});
</script>
</body>
</html>
我的控制器
class TypeaheadController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('welcome');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function autocomplete(Request $request)
{
dd('h');
$data = Edit::select("Adresse")
->where("Adresse","LIKE","%{$request->query}%")
->get();
return response()->json($data);
}
}
我的路线
Route::get('search', [TypeaheadController::class, 'index'])->name('search');
Route::get('autocomplete', [TypeaheadController::class, 'autocomplete'])->name('autocomplete');
如果你们对我如何做到这一点有任何其他建议。欢迎提出建议
【问题讨论】:
标签: javascript php html jquery laravel