我正在使用jQuery自动完成插件,这是我的索引:
<script>
$(document).ready(function(){
$("#tag").autocomplete({source: "./search.php?q="+ $("#tag").val()});
});
</script>
<form action="search.php" method="post" class="form-inline search">
<input type="text" id="tag" name="tag">
<input type="submit" class="btn" value="Search" />
</form>
search.php
中与index.php
位于同一文件夹中的如下:
include 'config.php';
$q=$_GET['q'];
$my_data=mysql_real_escape_string($q);
$sql="SELECT * FROM tags WHERE tag LIKE '%$my_data%'";
$result = mysql_query($sql) or die(mysql_error());
if($result)
{
while($row=mysql_fetch_array($result))
{
echo $row['tag']."\n";
}
}
当我开始输入时,自动填充功能不会给我任何建议。 JS控制台也没有错误。在代码中只显示No search results.
。
路径设置正确,数据库连接也是如此。
因此,哪里可能有问题?
谢谢
答案 0 :(得分:1)
您不需要在自动填充的src网址上使用查询字符串。 只需编写没有查询字符串的src文件:
$("#tag").autocomplete({source: "./search.php"});
在你的php文件中你必须捕获term参数:
$q = $_GET['term'];
答案 1 :(得分:0)
解决这个问题 - 在PHP文件中必须是以JSON格式返回的数据:
while($row=mysql_fetch_array($data))
{
$result[] = $row['tag'];
}
echo json_encode($result);