Jquery Autocomplete不会从php文件加载源代码

时间:2018-03-28 09:38:12

标签: javascript php jquery jquery-ui-autocomplete

我试图从连接到数据库的php文件加载Jquery Ui Autocomplete的源代码并将结果发送到数组,一切正常,但Autocomplete小部件不会将提供的数组作为源加载(即当我在自动填充搜索框中输入内容时,会发出请求,收到回复,但结果不会显示在搜索框中)

我的HTML

<link rel="stylesheet" type="text/css" href="https://code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-3.0.0.min.js"></script>
<script
  src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$(function() {
    $( "#skills" ).autocomplete({
        source: 'searchdata.php'
    });
});
</script>
</head>
<body>
  <div class="ui-widget">
    <label for="skills">Test: </label>
    <input id="skills">
</div>

searchdata.php

<?php 
require 'db.php';
header("Content-type: application/json");

$conn = new db();

$input = $_GET['term'];
$query = $conn->prepare("SELECT id, name FROM galleries WHERE name LIKE ?");
$like = '%'.$input.'%';
$query->bind_param('s',$like);
$query->execute();
$result = $query->get_result();
while ( $row = $result->fetch_assoc()) {
    $array[] = array (
        'label' => $row['name'],
        'value' => $row['id'],
    );
}
$conn->close();
echo json_encode($array);
?>

Response from searchdata.php + console

1 个答案:

答案 0 :(得分:0)

解决

我找到了它,谢谢卡罗,没注意到那个鬼鬼祟祟的混蛋:)。这确实是“点”(或者,正如我发现的那样,U + FEFF),但不是我认为的那样。我的数据库类和配置文件(searchdata.php需要)保存为带有BOM的UTF8,导致问题。将其保存为UTF8,问题现在已经消失。