自动填充功能在Javascript中每次都不起作用

时间:2015-06-04 08:17:26

标签: javascript json

我有一个奇怪的问题,我以前从未遇到过。

我有一个关于switchName的自动填充功能,但有时会有效,有时它不会......我会解释。

当我在自己的数据库中尝试使用1行自动完成时,自动完成功能正常,但是当我放置所有开关(300行)时,不会显示任何值。

我认为没有错误,因为SQL请求有效,但有时候,我的JSON没有值,这就是我的自动完成没有值的原因。

你能帮助我吗?

我的PHP:

if (isset($_GET['term'])){
    $connection = new Connection;
    $connection->connection();
    $conn = $connection->getConnection();

    $requete = $conn->prepare('SELECT switchName FROM switch
    WHERE switchName LIKE :term');
    $requete->execute(array('term' => $_GET['term'].'%'));

    $array = array();

    while($donnee = $requete->fetch()) 
    {
        $array[] = $donnee['switchName']; 
    }

    echo json_encode($array);
}

和我的JS:

$(function(){ 
    $(".switchName").autocomplete({
        source: 'switchName.php',
        minLength: 1
    });
});

和我的HTML:

    <tr>
        <td>Switch*</td> 
        <td><input type="text" class='switchName' name="switchName"/></td>
    </tr>

1 个答案:

答案 0 :(得分:0)

因此,即使您的echo json_encode($array);没问题,您的$array有时也没有值?您是否使用utf-8以外的字符编码?如果您使用不同的编码,则必须先转换为utf-8,否则json_encode将失败。