gpt4 book ai didi

javascript - jquery - 使用 PHP 自动完成

转载 作者:行者123 更新时间:2023-11-28 02:41:05 27 4
gpt4 key购买 nike

我尝试使用 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中获取数据,但是我想不出我又在哪里出错了..

我的 php 代码:

<?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>

最佳答案

这并没有那么简单,我真的不知道为什么,但是当你绑定(bind)到一个本地数组时,一个简单的数组就可以工作,但是如果你绑定(bind)到一个远程源,你需要给出一个结果此结构的对象数组:

{
"id":"Tetrao tetrix",
"label":"Black Grouse",
"value":"Black Grouse"
}

查看我从 this page 中获取的结果:

https://jqueryui.com/resources/demos/autocomplete/search.php?term=rou

所以你的结果应该匹配该结构才能工作,因为我在 api docs 中找不到与数据结构相关的任何内容。 .

关于javascript - jquery - 使用 PHP 自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44459964/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com