Javascript 使用Typeahead自动完成时出现故障

Javascript 使用Typeahead自动完成时出现故障,javascript,php,html,typeahead.js,Javascript,Php,Html,Typeahead.js,我跟随youtube教程学习如何使用Typeahead.js自动完成表单。但它似乎不起作用。我错过什么了吗?或者依赖项中的一些更改?这是我现在试过的 HTML PHP result.php <?php header('Content-Type: application/json'); if(!isset($_GET['query'])) { echo json_encode([]); exit(); } $db = new PDO('mysql:host=127.0.

我跟随youtube教程学习如何使用Typeahead.js自动完成表单。但它似乎不起作用。我错过什么了吗?或者依赖项中的一些更改?这是我现在试过的

HTML

PHP
result.php

<?php

header('Content-Type: application/json');

if(!isset($_GET['query'])) {
    echo json_encode([]);
    exit();
}

$db = new PDO('mysql:host=127.0.0.1;dbname=test','root','');

$users = $db->prepare("
SELECT code,name from sample where name LIKE :query");

$users->execute([
    'query' => "{$_GET['query']}%"
]);

echo json_encode($users->fetchAll());

?>

只是猜测,但我注意到:

$('#prefetch .typeahead').typeahead({
您正在使用
id
预取
的元素中使用
指定元素,但您没有任何具有
id
的元素。可能(未经测试):



它在做什么或不做什么?您是否测试了各个部分,例如,如果您直接调用php,您是否得到了正确的结果?控制台里有什么东西吗?您是否尝试过添加console.log调用来记录事情,以便您可以知道您走了多远?很抱歉,我没有添加这些详细信息。我直接调用PHP查询PHP得到了正确的结果。i、 e result.php?query=A生成所有以A开头的课程。但是在HTML上,我没有生成任何自动完成的结果。很抱歉,问题中存在编辑问题。我碰巧通过下载typeahead.bundle.js和最新的jQuery插件解决了这个问题。毕竟,可能存在一些依赖性问题。
<?php

header('Content-Type: application/json');

if(!isset($_GET['query'])) {
    echo json_encode([]);
    exit();
}

$db = new PDO('mysql:host=127.0.0.1;dbname=test','root','');

$users = $db->prepare("
SELECT code,name from sample where name LIKE :query");

$users->execute([
    'query' => "{$_GET['query']}%"
]);

echo json_encode($users->fetchAll());

?>
$('#prefetch .typeahead').typeahead({
<form action="main.php" method="get" autocomplete="off" id="prefetch">
  <input type="text" id="users" name="user" placeholder="Subject Name" class="typeahead">