TypeError:b.toLowerCase不是bootstrap typeahead插件中的函数

时间:2017-12-11 11:47:46

标签: javascript php jquery mysql ajax

我正在使用typeahead插件版本3.1.1进行自动完成搜索。我用过php,mysql,ajax和js / jquery。 当我使用mysqli时,它在搜索框中键入时显示完美,但问题是当我使用PDO时,它给我一个错误,称为

" TypeError:b.toLowerCase不是函数"。

问题不是PDO,我认为是预先输入插件。 如果有人遇到问题或某人有解决方案,请帮我解决。

代码是: test.js:

$(document).ready(function () {

$('#search').typeahead({
    source: function (query, process) {
        return $.get('../../xdocs-admin/test/fetch.php', {query: 
 query}, function (data) {

            data= $.parseJSON(data);
            return process(data);
          });
      }

  });

});

php code,fetch.php:

$host = "mysql";
$username = "root";
$port = 3306;
$db = "xpans_plugs";
$password = "passroot";


  try {
     $connection = new PDO("mysql:host=$host;dbname=$db; port=$port", 
  $username, $password);
     $connection->setAttribute(PDO::ATTR_ERRMODE, 
     PDO::ERRMODE_EXCEPTION);

} catch (PDOException $e) {
  echo "The connection is failed: " . $e->getMessage();
}
    $sql = "SELECT * FROM search_test";
    $stmt = $connection->prepare($sql);
    $stmt->execute();


    $data = $stmt->fetchAll();


   while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
       echo $row['title'];
    }




     echo json_encode($data);

1 个答案:

答案 0 :(得分:0)

在: -

$stmt->execute();

执行: -

$data = array();

while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
  $data[] = $row['title'];
}
echo json_encode($data);

并检查