【发布时间】:2017-11-11 14:23:44
【问题描述】:
我尝试使用 jQuery-UI 自动完成搜索字段,但使用 PHP 作为源时遇到问题。当我使用变量作为源时,一切正常。
JS:
$(function () {
var data = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("#tags").autocomplete({
source: data
});
});
但是一旦我使用 PHP 脚本,即使它只是保存一个数组并对其进行编码,它也不会。
JS:
$(function () {
$("#tags").autocomplete({
source: 'suggest_search.php'
});
});
suggest_search.php:
$data = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
echo json_encode($data);
我就是不知道为什么,有什么建议吗?
编辑:所以原来的问题已经解决,只是一个链接问题。
现在我想从 SQL 中获取数据,但我无法弄清楚我又在哪里犯了错误..
我的phpcode:
<?php
header('Content-Type: application/json');
include(scripts/db_connect.php);
$searchTerm = filter_input(INPUT_GET, 'term');
$select = mysqli_query($db_mysqli, " SELECT * FROM $db_table WHERE top_name like '%$searchTerm%'");
while ($row=mysqli_fetch_array($select))
{
$data[] = $row['top_name'];
}
echo json_encode($data);
以及相关的html代码:
<div id="ui-widget">
<label for="tags"></label>
<input id="tags" class="search_field" type="search" name="suche" maxlength="255">
</div>
【问题讨论】:
-
你能尝试一个ajax调用,看看它以这种方式返回什么吗?甚至可以将 ajax 结果保存到变量中
标签: javascript php jquery html mysqli