我需要在jQuery自动完成功能中解析JSON。我使用了以下代码。
jQuery("#name").autocomplete( '<?php echo HTTP_PATH.'/songs/sss'; ?>', {
multiple: true,
mustMatch: true,
matchContains: true,
autoFill: false,
dataType: "json",
});
关于那个我的蛋糕控制器
public function sss(){
$condition = array('Poet.status'=>'3');
$poet_name = $this->Poet->find('list', array('conditions' => $condition));
//pr($poet_name); exit;
echo json_encode($poet_name);
$this->autoRender = false;
}
我收到的数据是简单数组。装置
Array(
[1]=>Abc,
[15]=>Xyz
[56]=>MNK
[77]=>skl
[85]=>qw5s
)
如何使用jquery解析返回数组后的读取和格式化。
答案 0 :(得分:0)
JQuery Autocomplete需要标签和/或值,其中显示标签。除非需要在客户端解析json,否则我会在服务器端执行此操作(对我来说更简单)。
因为你可以插入以下内容:
$json_output = array();
foreach ($poet_name as $name) {
$json_output[]['label'] = $name;
}
echo json_encode($json_output);
通过在服务器端格式化,json已预先格式化为json自动完成功能,使标记更小,从而更快地上传页面,减少混乱。