我试图从连接到数据库的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);
?>
答案 0 :(得分:0)
我找到了它,谢谢卡罗,没注意到那个鬼鬼祟祟的混蛋:)。这确实是“点”(或者,正如我发现的那样,U + FEFF),但不是我认为的那样。我的数据库类和配置文件(searchdata.php需要)保存为带有BOM的UTF8,导致问题。将其保存为UTF8,问题现在已经消失。