Javascript Twitter Typeahead结果回显到页面,但不返回搜索框
我正在使用Twitter Typeahead在数据库中搜索用户。我希望在他们键入查询时显示最接近查询的结果。我在后端使用PHP 如果我手动将查询添加到url的末尾,我会得到想要回显到页面的结果,并且我可以在Chrome编辑器的“网络”选项卡中看到,当我键入时,它会发送一个带有我键入的查询的请求。不幸的是,typeahead搜索框从未填充结果 以下是搜索框的html:Javascript Twitter Typeahead结果回显到页面,但不返回搜索框,javascript,php,typeahead,Javascript,Php,Typeahead,我正在使用Twitter Typeahead在数据库中搜索用户。我希望在他们键入查询时显示最接近查询的结果。我在后端使用PHP 如果我手动将查询添加到url的末尾,我会得到想要回显到页面的结果,并且我可以在Chrome编辑器的“网络”选项卡中看到,当我键入时,它会发送一个带有我键入的查询的请求。不幸的是,typeahead搜索框从未填充结果 以下是搜索框的html: <div class="row margin-top"> <div class="small-12 la
<div class="row margin-top">
<div class="small-12 large-2 columns">
<input type="text" name="typeahead" class="search typeahead tt-query" autocomplete="off" spellcheck="false" placeholder="Search Here">
<input type="submit" class="button">
</div>
</div>
<!-- JAVASCRIPTS -->
<script src="/js/typeahead.min.js"></script>
<script src="/js/search.js"></script>
以下是php中的搜索函数:
function user_search($key)
{
$link = open_database_connection();
$array = array();
$sql = "SELECT name FROM users WHERE name LIKE '%{$key}%'";
$stmt = $link->prepare($sql);
//Execute
$stmt->execute();
foreach ($stmt->fetchAll(PDO::FETCH_COLUMN) as $row) {
$array[] = $row;
}
return json_encode($array);
}
如果我将最后一行从
改为returnJSON_encode($array)
toecho json_encode($array)代码>如果我手动将查询添加到url,它会将正确的结果回显到页面。但当我归还它们时,什么也没发生 函数中的return
语句将值返回给调用者。显然,echo
会将其发送到页面。因此,echo
或任何您想做的事情,其中调用了user\u search
echo user\u search()
虽然不是完整的答案,但这帮助我澄清了我应该做什么。显然,搜索功能需要回显到空页面(我的页面与搜索框所在的页面相同)。一旦我用一个空模板制作了一个新的控制器,将结果回送到其中,它就工作了。
function user_search($key)
{
$link = open_database_connection();
$array = array();
$sql = "SELECT name FROM users WHERE name LIKE '%{$key}%'";
$stmt = $link->prepare($sql);
//Execute
$stmt->execute();
foreach ($stmt->fetchAll(PDO::FETCH_COLUMN) as $row) {
$array[] = $row;
}
return json_encode($array);
}