使用JSON数据的jQuery自动完成错误

时间:2011-04-22 08:46:09

标签: javascript jquery json autocomplete

我从服务器获取JSON数组:

mysql_select_db('******') or die("Error connecting to db.");
$res = mysql_query("SELECT DISTINCT(valeur) as val FROM *****") or die(mysql_error());
while($r = mysql_fetch_assoc($res)){
    $tab[] = $r['val'];
} echo json_encode($tab);
unset($tab);

并且:

$.getJSON("autocomp.php?id=valeur", function(data){
    $("#other-valeur").autocomplete({delay: 100, source: data, dataType: 'json'});
});

服务器返回一个正确的json数组:

["UMTS","RAN","Swap","Regions","Brasseur",...]

但是当我开始在输入中输入内容时,我会在firebug中收到此消息:

c is null

在jquery代码中......

我不明白的是,我正在为同一页面上的另一个输入做同样的事情,并且它工作得很好,json数组看起来一样,代码是相同的......

1 个答案:

答案 0 :(得分:1)

它不起作用,因为自动完成需要你的json中的属性“id”和“value”。这不是这种情况。

尝试像这样返回json:

[{"id":"1","value":"UMTS","comment":"umts comment"},
{"id":"2","value":"RAN","comment":"ran comment"},
{"id":"3","value":"Swap","comment":"swap comment"}]

在你的php中,还返回一个内容类型:application / json