【问题标题】:Laralvel autocomplete input from database来自数据库的 Laravel 自动完成输入
【发布时间】: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


    【解决方案1】:

    $request-&gt;query$request 对象上的保留函数。为了从请求中的 url 中提取 '?query=xyz',您必须使用 $request-&gt;query('query') 函数返回 xyz

    【讨论】:

    • 可能是。但我认为问题在于,永远不会调用自动完成功能。我尝试在函数中对某些内容进行数据转储,但无论我尝试什么都不会发生
    猜你喜欢
    • 2018-12-31
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 2012-10-22
    • 2013-11-25
    • 1970-01-01
    相关资源
    最近更新 更多