我在 index.php
中有此代码$(document).ready(function(){
$("#searchInput").autocomplete({
source: "getResults.php"
});
和 getResults.php 包含:
<?php
$result = array();
array_push($result, "Apple");
array_push($result, "Banana");
array_push($result, "Orange");
echo json_encode($result);
?>
为什么我会一直得到相同的结果?
无论我在searchInput中输入什么,我都会得到相同的列表/结果,
谢谢。
答案 0 :(得分:0)
因为您没有发送“无论提交到php脚本中的任何内容”
您只有这些数据:
<?php
$result = array();
array_push($result, "Apple");
array_push($result, "Banana");
array_push($result, "Orange");
echo json_encode($result);
?>
这就是你所能获得的一切。
您需要检查$_POST
并将帖子内容推送到数组
由于您在评论中提到要显示自动建议,因此您需要执行以下操作。
//php file
if($_POST && isset($_POST['keyword']){
$search = $_POST['keyword'];
$array = ['Apple', 'Banana', 'Orange'];
foreach($array as $fruit){
if(strpos($search, $fruit) === 0){
echo $fruit;
}
}
}
您可以通过ajax将该单词发送到此php文件作为POST请求。
答案 1 :(得分:0)
我在你的JS中看到了一个缺失的括号,我希望你能在你的结尾正确设置:
$(document).ready(function(){
$("#searchInput").autocomplete({
source: "getResults.php"
});
&#13;
应该是:
$(document).ready(function(){
$("#searchInput").autocomplete({
source: "getResults.php"
});
});
&#13;
编辑:
由于您要从其他文件获取数据,因此您需要按照此处的说明操作:
https://jqueryui.com/autocomplete/#remote
这将引导您调用php文件。