1

我需要在 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 解析返回的数组后的读取和格式。

4

1 回答 1

0

JQuery 自动完成需要标签和/或值,标签显示在哪里。除非需要在客户端解析 json,否则我会在服务器端进行解析(对我来说更简单)。

因为您可以插入以下内容:

$json_output = array();

foreach ($poet_name as $name) {
     $json_output[]['label'] = $name;
}

echo json_encode($json_output);

通过在服务器端格式化,json 被预先格式化为 json 自动完成,使标记更小,从而更快地上传页面并减少混乱。

于 2012-04-23T09:29:32.707 回答