Php jquery自动完成不使用JSON数据

Php jquery自动完成不使用JSON数据,php,jquery,json,jquery-autocomplete,Php,Jquery,Json,Jquery Autocomplete,我的PHP代码将JSON数据返回到jquery自动完成,但自动完成不起作用 Jquery自动完成 $("input#txtaddkey").autocomplete({ source: "keyword.php", minLength: 2 }); PHP代码 $fetch = mysql_query("SELECT * FROM o_keyword where keyword like '%" . $query . "%

我的PHP代码将JSON数据返回到jquery自动完成,但自动完成不起作用

Jquery自动完成

$("input#txtaddkey").autocomplete({
            source: "keyword.php",
                minLength: 2
        });
PHP代码

$fetch = mysql_query("SELECT * FROM o_keyword where keyword like '%" . $query . "%'"); 

    while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
        $row_array['id'] = $row['id'];
        $row_array['keyword'] = $row['keyword'];

        array_push($return_arr,$row_array);
    }
echo json_encode($return_arr);
JSON数据输出

[{"id":"2","keyword":"Games"},{"id":"3","keyword":"Goa"}]
在输入“Ga”时,我在前端得到了空的li标签。

来自:


JSON需要包含
标签
(或两者兼有)。将
关键字
更改为
,应该可以正常工作。

您的代码需要稍微修改

 while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) {
    $row_array['value'] = $row['id'];
    $row_array['label'] = $row['keyword'];

    array_push($return_arr,$row_array);
}
echo json_encode($return_arr)

现在您的json格式将是

[{"value":"2","label":"Games"},{"value":"3","label":"Goa"}]
您的“keyword.php”实际上返回了什么吗?检查firegug…是它返回[{“id”:“2”,“关键字”:“Games”},{“id”:“3”,“关键字”:“Goa”}]