【发布时间】:2013-06-06 20:25:57
【问题描述】:
如果我将 php 文件作为源调用,则不会自动完成,但如果我使用数组,它会起作用。
PHP
$query = mysql_query($req);
while($row = mysql_fetch_assoc($query))
{
$results[] = array('login' => $row['login']);
}
echo json_encode($results);
//[{"login":"lleal"},{"login":"mmoura"},{"login":"vmatos"},{"login":"csamante"}]
HTML
$( "#logine" ).autocomplete(
{
source: 'loginsearch.php',
})
如果我将 json 转换为这样的数组,它可以工作:
var lista = [];
$.ajax({
type: "GET",
dataType: "json",
url: "loginsearch.php",
success: function (data) {
$.each(data, function (index, data) {
lista.push(data.login);
});
}
});
$( "#logine" ).autocomplete(
{
source: lista,
})
我花了一整天的时间来解决这个问题,有什么想法吗?
【问题讨论】:
-
你的 echo 语句是否返回数据?
-
哦,你的 JS 中还有一个额外的逗号
source: 'loginsearch.php',...除非你后面有更多代码 -
这是stackoverflow.com/questions/4234455/… 的完全相同的副本 去那里找到你的答案。完全相同,尽管您可能需要更改输出,例如
//[{"id":"1, "value":"lleal"}
标签: php jquery ajax arrays json