我已经使用本地JS数组使用自动完成功能(作为测试)。现在我从我在searchAC.php中运行的数据库查询中提取一个远程json编码数组。返回的数组看起来很好,自动完成功能对本地数组非常有用,并且jQuery UI API与询问邮箱为什么我的代码不起作用一样有用(至少在这种特殊情况下)。
我不会放我的HTML因为我知道它工作正常,但这里是jQuery代码:
<script type="text/javascript" charset="utf-8">
$(function(){
$('#searchPost').submit(function(event) {
if ($('#searchBox').val() == '') {
event.preventDefault();
}
});
$("#searchBox").autocomplete({
source: php/searchAC.php
});
});
</script>
这里是searchAC.php:
<?php
session_start();
$con = mysql_connect("localhost","coupons","couponscoupons");
mysql_select_db("coupons", $con);
$currentZone = $_SESSION["zoneSelected"];
$results = mysql_query("SELECT DISTINCT retailerName FROM coupons WHERE retailerName LIKE '%" . $_GET['term'] . "%' OR description LIKE '%" . $_GET['term'] . "%' AND dateExp > CURDATE() AND zone='$currentZone' AND approved <> 0");
$printResults = array();
while($row = mysql_fetch_array($results))
{
$row_array['label'] = stripslashes($row[0]);
$row_array['value'] = stripslashes($row[0]);
array_push($printResults,$row_array);
}
echo json_encode($printResults);
?>
当我直接去searchAC.php时,结果如下:
[{"label":"foo","value":"foo"},{"label":"bar","value":"bar"}]
然而,我没有改变似乎使代码工作。我一直在谷歌搜索。有什么想法吗?