Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Twitter Typeahead结果回显到页面,但不返回搜索框_Javascript_Php_Typeahead - Fatal编程技术网

Javascript Twitter Typeahead结果回显到页面,但不返回搜索框

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

我正在使用Twitter Typeahead在数据库中搜索用户。我希望在他们键入查询时显示最接近查询的结果。我在后端使用PHP

如果我手动将查询添加到url的末尾,我会得到想要回显到页面的结果,并且我可以在Chrome编辑器的“网络”选项卡中看到,当我键入时,它会发送一个带有我键入的查询的请求。不幸的是,typeahead搜索框从未填充结果

以下是搜索框的html:

<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)
to
echo 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);
}